├── .gitattributes
├── .github
└── workflows
│ ├── release.unused
│ └── tests.yml
├── .gitignore
├── BUILD.md
├── CHANGELOG.md
├── Dockerfile
├── LICENSE.md
├── README.md
├── convex
├── convex-benchmarks
├── .gitignore
├── README.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── convex
│ └── benchmarks
│ ├── Benchmarks.java
│ ├── BigBlockBenchmark.java
│ ├── CVMBenchmark.java
│ ├── EncodingBenchmark.java
│ ├── EtchBenchmark.java
│ ├── EvalBenchmark.java
│ ├── HashBenchmark.java
│ ├── LatencyBenchmark.java
│ ├── ListDataBenchmark.java
│ ├── LocalPeerBenchmark.java
│ ├── MapBenchmark.java
│ ├── OpBenchmark.java
│ ├── ReaderBenchmark.java
│ ├── SignatureBenchmark.java
│ ├── ThreadCoordinationBenchmark.java
│ └── data
│ └── ParallelBenchmark.java
├── convex-cli
├── .gitignore
├── GENESIS.md
├── README.md
├── pom.xml
└── src
│ ├── docs
│ ├── asciidoc
│ │ ├── images
│ │ │ └── convex_logo.svg
│ │ └── index.adoc
│ └── examples.md
│ ├── main
│ ├── java
│ │ └── convex
│ │ │ └── cli
│ │ │ ├── ACommand.java
│ │ │ ├── ATopCommand.java
│ │ │ ├── CLIError.java
│ │ │ ├── Constants.java
│ │ │ ├── ExitCodes.java
│ │ │ ├── Help.java
│ │ │ ├── Helpers.java
│ │ │ ├── Main.java
│ │ │ ├── account
│ │ │ ├── AAccountCommand.java
│ │ │ ├── Account.java
│ │ │ ├── AccountBalance.java
│ │ │ ├── AccountCreate.java
│ │ │ ├── AccountFund.java
│ │ │ └── AccountInformation.java
│ │ │ ├── client
│ │ │ ├── AClientCommand.java
│ │ │ ├── Query.java
│ │ │ ├── Status.java
│ │ │ └── Transact.java
│ │ │ ├── desktop
│ │ │ └── Desktop.java
│ │ │ ├── etch
│ │ │ ├── AEtchCommand.java
│ │ │ ├── Etch.java
│ │ │ ├── EtchClear.java
│ │ │ ├── EtchDump.java
│ │ │ ├── EtchInfo.java
│ │ │ ├── EtchRead.java
│ │ │ ├── EtchValidate.java
│ │ │ └── EtchWrite.java
│ │ │ ├── key
│ │ │ ├── AKeyCommand.java
│ │ │ ├── Key.java
│ │ │ ├── KeyDelete.java
│ │ │ ├── KeyExport.java
│ │ │ ├── KeyGenerate.java
│ │ │ ├── KeyImport.java
│ │ │ ├── KeyList.java
│ │ │ └── KeySign.java
│ │ │ ├── local
│ │ │ ├── ALocalCommand.java
│ │ │ ├── Local.java
│ │ │ ├── LocalGUI.java
│ │ │ └── LocalStart.java
│ │ │ ├── mixins
│ │ │ ├── AMixin.java
│ │ │ ├── AddressMixin.java
│ │ │ ├── ClientKeyMixin.java
│ │ │ ├── ClientMixin.java
│ │ │ ├── EtchMixin.java
│ │ │ ├── KeyMixin.java
│ │ │ ├── KeyStoreMixin.java
│ │ │ ├── PeerKeyMixin.java
│ │ │ └── RemotePeerMixin.java
│ │ │ ├── output
│ │ │ ├── Coloured.java
│ │ │ ├── RecordOutput.java
│ │ │ └── TableOutput.java
│ │ │ └── peer
│ │ │ ├── APeerCommand.java
│ │ │ ├── Peer.java
│ │ │ ├── PeerBackup.java
│ │ │ ├── PeerCreate.java
│ │ │ ├── PeerGenesis.java
│ │ │ ├── PeerList.java
│ │ │ └── PeerStart.java
│ ├── launch
│ │ ├── .gitignore
│ │ └── launch4j-convex-cli.xml
│ └── resources
│ │ └── art
│ │ └── convex.logo
│ └── test
│ ├── java
│ └── convex
│ │ └── cli
│ │ ├── CLIHelpTest.java
│ │ ├── CLIMainTest.java
│ │ ├── CLTester.java
│ │ ├── HelperTest.java
│ │ ├── account
│ │ └── AccountTest.java
│ │ ├── client
│ │ └── ClientTest.java
│ │ ├── etch
│ │ └── EtchCLITest.java
│ │ ├── key
│ │ ├── KeyExportTest.java
│ │ ├── KeyImportTest.java
│ │ └── KeyTest.java
│ │ ├── output
│ │ └── OutputTest.java
│ │ └── peer
│ │ ├── GenesisTest.java
│ │ └── LocalTest.java
│ └── resources
│ └── test.txt
├── convex-core
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── antlr4
│ │ └── convex
│ │ │ └── core
│ │ │ ├── json
│ │ │ └── reader
│ │ │ │ └── antlr
│ │ │ │ ├── JSON.g4
│ │ │ │ └── JSON5.g4
│ │ │ └── lang
│ │ │ └── reader
│ │ │ └── antlr
│ │ │ └── Convex.g4
│ ├── assembly
│ │ ├── full.xml
│ │ └── testing.xml
│ ├── cvx
│ │ ├── app
│ │ │ ├── names.cvx
│ │ │ └── paisley
│ │ │ │ ├── members.cvx
│ │ │ │ ├── pai.cvx
│ │ │ │ └── personal.cvx
│ │ └── convex
│ │ │ ├── asset
│ │ │ ├── asset.cvx
│ │ │ ├── box.cvx
│ │ │ ├── box
│ │ │ │ └── actor.cvx
│ │ │ ├── fungible.cvx
│ │ │ ├── market
│ │ │ │ └── trade.cvx
│ │ │ ├── multi-token.cvx
│ │ │ ├── nft
│ │ │ │ ├── basic.cvx
│ │ │ │ ├── simple.cvx
│ │ │ │ └── tokens.cvx
│ │ │ ├── share.cvx
│ │ │ ├── spatial.cvx
│ │ │ └── wrap
│ │ │ │ └── convex.cvx
│ │ │ ├── core
│ │ │ ├── core.cvx
│ │ │ ├── metadata.cvx
│ │ │ ├── registry.cvx
│ │ │ └── trust.cvx
│ │ │ ├── lab
│ │ │ ├── archon.cvx
│ │ │ ├── cns.cvx
│ │ │ ├── convex
│ │ │ │ └── xform.cvx
│ │ │ ├── curation-market.cvx
│ │ │ ├── did.cvx
│ │ │ ├── distributor.cvx
│ │ │ ├── messenger.cvx
│ │ │ ├── oracle.cvx
│ │ │ ├── play.cvx
│ │ │ ├── prediction-market.cvx
│ │ │ ├── secured-loan.cvx
│ │ │ └── trusted-oracle
│ │ │ │ └── actor.cvx
│ │ │ ├── torus
│ │ │ ├── exchange.cvx
│ │ │ ├── genesis-currencies.cvx
│ │ │ └── old-currencies.cvx
│ │ │ ├── trust
│ │ │ ├── delegate.cvx
│ │ │ ├── governance.cvx
│ │ │ ├── monitors.cvx
│ │ │ ├── ownership-monitor.cvx
│ │ │ └── whitelist.cvx
│ │ │ └── user.cvx
│ ├── java
│ │ ├── convex
│ │ │ ├── core
│ │ │ │ ├── Coin.java
│ │ │ │ ├── Constants.java
│ │ │ │ ├── ErrorCodes.java
│ │ │ │ ├── Networks.java
│ │ │ │ ├── Result.java
│ │ │ │ ├── ResultContext.java
│ │ │ │ ├── SourceCodes.java
│ │ │ │ ├── cpos
│ │ │ │ │ ├── Belief.java
│ │ │ │ │ ├── BeliefMerge.java
│ │ │ │ │ ├── Block.java
│ │ │ │ │ ├── BlockResult.java
│ │ │ │ │ ├── CPoSConstants.java
│ │ │ │ │ └── Order.java
│ │ │ │ ├── crypto
│ │ │ │ │ ├── AKeyPair.java
│ │ │ │ │ ├── AProvider.java
│ │ │ │ │ ├── ASignature.java
│ │ │ │ │ ├── BIP39.java
│ │ │ │ │ ├── CertUtils.java
│ │ │ │ │ ├── Ed25519Signature.java
│ │ │ │ │ ├── Encoding.java
│ │ │ │ │ ├── Hashing.java
│ │ │ │ │ ├── InsecureRandom.java
│ │ │ │ │ ├── Mnemonic.java
│ │ │ │ │ ├── PBE.java
│ │ │ │ │ ├── PEMTools.java
│ │ │ │ │ ├── PFXTools.java
│ │ │ │ │ ├── Passwords.java
│ │ │ │ │ ├── Providers.java
│ │ │ │ │ ├── SLIP10.java
│ │ │ │ │ ├── Symmetric.java
│ │ │ │ │ ├── bc
│ │ │ │ │ │ ├── BCKeyPair.java
│ │ │ │ │ │ └── BCProvider.java
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ └── wallet
│ │ │ │ │ │ ├── AWallet.java
│ │ │ │ │ │ ├── AWalletEntry.java
│ │ │ │ │ │ ├── HotWalletEntry.java
│ │ │ │ │ │ ├── IWallet.java
│ │ │ │ │ │ ├── IWalletEntry.java
│ │ │ │ │ │ ├── KeystoreWalletEntry.java
│ │ │ │ │ │ ├── LockedWalletException.java
│ │ │ │ │ │ └── PKCS12Wallet.java
│ │ │ │ ├── cvm
│ │ │ │ │ ├── ACVMCode.java
│ │ │ │ │ ├── ACVMRecord.java
│ │ │ │ │ ├── AFn.java
│ │ │ │ │ ├── AOp.java
│ │ │ │ │ ├── ARecordGeneric.java
│ │ │ │ │ ├── AccountStatus.java
│ │ │ │ │ ├── Address.java
│ │ │ │ │ ├── CVMEncoder.java
│ │ │ │ │ ├── CVMTag.java
│ │ │ │ │ ├── Context.java
│ │ │ │ │ ├── IFn.java
│ │ │ │ │ ├── Juice.java
│ │ │ │ │ ├── Keywords.java
│ │ │ │ │ ├── Log.java
│ │ │ │ │ ├── Ops.java
│ │ │ │ │ ├── Peer.java
│ │ │ │ │ ├── PeerStatus.java
│ │ │ │ │ ├── RecordFormat.java
│ │ │ │ │ ├── State.java
│ │ │ │ │ ├── Symbols.java
│ │ │ │ │ ├── Syntax.java
│ │ │ │ │ ├── TransactionContext.java
│ │ │ │ │ ├── exception
│ │ │ │ │ │ ├── AExceptional.java
│ │ │ │ │ │ ├── AReturn.java
│ │ │ │ │ │ ├── AThrowable.java
│ │ │ │ │ │ ├── ATrampoline.java
│ │ │ │ │ │ ├── ErrorValue.java
│ │ │ │ │ │ ├── Failure.java
│ │ │ │ │ │ ├── HaltValue.java
│ │ │ │ │ │ ├── RecurValue.java
│ │ │ │ │ │ ├── ReducedValue.java
│ │ │ │ │ │ ├── ReturnValue.java
│ │ │ │ │ │ ├── RollbackValue.java
│ │ │ │ │ │ └── TailcallValue.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ └── InvalidBlockException.java
│ │ │ │ │ ├── ops
│ │ │ │ │ │ ├── ACodedOp.java
│ │ │ │ │ │ ├── AFlatMultiOp.java
│ │ │ │ │ │ ├── AMultiOp.java
│ │ │ │ │ │ ├── Cond.java
│ │ │ │ │ │ ├── Constant.java
│ │ │ │ │ │ ├── Def.java
│ │ │ │ │ │ ├── Do.java
│ │ │ │ │ │ ├── Invoke.java
│ │ │ │ │ │ ├── Lambda.java
│ │ │ │ │ │ ├── Let.java
│ │ │ │ │ │ ├── Local.java
│ │ │ │ │ │ ├── Lookup.java
│ │ │ │ │ │ ├── Query.java
│ │ │ │ │ │ ├── Set.java
│ │ │ │ │ │ ├── Special.java
│ │ │ │ │ │ ├── Try.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ └── transactions
│ │ │ │ │ │ ├── ATransaction.java
│ │ │ │ │ │ ├── Call.java
│ │ │ │ │ │ ├── Invoke.java
│ │ │ │ │ │ ├── Multi.java
│ │ │ │ │ │ ├── Transactions.java
│ │ │ │ │ │ ├── Transfer.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ ├── data
│ │ │ │ │ ├── AArrayBlob.java
│ │ │ │ │ ├── ABlob.java
│ │ │ │ │ ├── ABlobLike.java
│ │ │ │ │ ├── ACAD3Record.java
│ │ │ │ │ ├── ACell.java
│ │ │ │ │ ├── ACollection.java
│ │ │ │ │ ├── ACountable.java
│ │ │ │ │ ├── ADataStructure.java
│ │ │ │ │ ├── ADenseRecord.java
│ │ │ │ │ ├── AEncoder.java
│ │ │ │ │ ├── AExtensionValue.java
│ │ │ │ │ ├── AHashMap.java
│ │ │ │ │ ├── AHashSet.java
│ │ │ │ │ ├── AIndex.java
│ │ │ │ │ ├── AList.java
│ │ │ │ │ ├── AMap.java
│ │ │ │ │ ├── AMapEntry.java
│ │ │ │ │ ├── AObject.java
│ │ │ │ │ ├── ARecord.java
│ │ │ │ │ ├── ASequence.java
│ │ │ │ │ ├── ASet.java
│ │ │ │ │ ├── ASparseRecord.java
│ │ │ │ │ ├── ASpecialVector.java
│ │ │ │ │ ├── AString.java
│ │ │ │ │ ├── ASymbolic.java
│ │ │ │ │ ├── AVector.java
│ │ │ │ │ ├── AccountKey.java
│ │ │ │ │ ├── Blob.java
│ │ │ │ │ ├── BlobTree.java
│ │ │ │ │ ├── Blobs.java
│ │ │ │ │ ├── CAD3Encoder.java
│ │ │ │ │ ├── Cells.java
│ │ │ │ │ ├── CodedValue.java
│ │ │ │ │ ├── DenseRecord.java
│ │ │ │ │ ├── ExtensionValue.java
│ │ │ │ │ ├── Format.java
│ │ │ │ │ ├── Hash.java
│ │ │ │ │ ├── IAssociative.java
│ │ │ │ │ ├── IRefFunction.java
│ │ │ │ │ ├── IValidated.java
│ │ │ │ │ ├── IWriteable.java
│ │ │ │ │ ├── Index.java
│ │ │ │ │ ├── Keyword.java
│ │ │ │ │ ├── List.java
│ │ │ │ │ ├── Lists.java
│ │ │ │ │ ├── MapEntry.java
│ │ │ │ │ ├── MapLeaf.java
│ │ │ │ │ ├── MapTree.java
│ │ │ │ │ ├── Maps.java
│ │ │ │ │ ├── Ref.java
│ │ │ │ │ ├── RefDirect.java
│ │ │ │ │ ├── RefSoft.java
│ │ │ │ │ ├── Refs.java
│ │ │ │ │ ├── SetLeaf.java
│ │ │ │ │ ├── SetTree.java
│ │ │ │ │ ├── Sets.java
│ │ │ │ │ ├── SignedData.java
│ │ │ │ │ ├── StringShort.java
│ │ │ │ │ ├── StringSlice.java
│ │ │ │ │ ├── StringTree.java
│ │ │ │ │ ├── Strings.java
│ │ │ │ │ ├── Symbol.java
│ │ │ │ │ ├── Tag.java
│ │ │ │ │ ├── VectorArray.java
│ │ │ │ │ ├── VectorLeaf.java
│ │ │ │ │ ├── VectorTree.java
│ │ │ │ │ ├── Vectors.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ ├── ADerivedBlob.java
│ │ │ │ │ │ ├── ADerivedSet.java
│ │ │ │ │ │ ├── ALongBlob.java
│ │ │ │ │ │ ├── DummyCell.java
│ │ │ │ │ │ ├── KeySet.java
│ │ │ │ │ │ ├── LongBlob.java
│ │ │ │ │ │ ├── RepeatByteBlob.java
│ │ │ │ │ │ └── ZeroBlob.java
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ ├── prim
│ │ │ │ │ │ ├── AByteFlag.java
│ │ │ │ │ │ ├── AInteger.java
│ │ │ │ │ │ ├── ANumeric.java
│ │ │ │ │ │ ├── APrimitive.java
│ │ │ │ │ │ ├── ByteFlag.java
│ │ │ │ │ │ ├── CVMBigInteger.java
│ │ │ │ │ │ ├── CVMBool.java
│ │ │ │ │ │ ├── CVMChar.java
│ │ │ │ │ │ ├── CVMDouble.java
│ │ │ │ │ │ ├── CVMLong.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ ├── type
│ │ │ │ │ │ ├── ANumericType.java
│ │ │ │ │ │ ├── AStandardType.java
│ │ │ │ │ │ ├── AType.java
│ │ │ │ │ │ ├── AddressType.java
│ │ │ │ │ │ ├── Any.java
│ │ │ │ │ │ ├── Blob.java
│ │ │ │ │ │ ├── Boolean.java
│ │ │ │ │ │ ├── CAD3Type.java
│ │ │ │ │ │ ├── CharacterType.java
│ │ │ │ │ │ ├── Collection.java
│ │ │ │ │ │ ├── Countable.java
│ │ │ │ │ │ ├── DataStructure.java
│ │ │ │ │ │ ├── Double.java
│ │ │ │ │ │ ├── Function.java
│ │ │ │ │ │ ├── IndexType.java
│ │ │ │ │ │ ├── Integer.java
│ │ │ │ │ │ ├── KeywordType.java
│ │ │ │ │ │ ├── List.java
│ │ │ │ │ │ ├── Long.java
│ │ │ │ │ │ ├── Map.java
│ │ │ │ │ │ ├── Nil.java
│ │ │ │ │ │ ├── Number.java
│ │ │ │ │ │ ├── OpCode.java
│ │ │ │ │ │ ├── Record.java
│ │ │ │ │ │ ├── Sequence.java
│ │ │ │ │ │ ├── Set.java
│ │ │ │ │ │ ├── StringType.java
│ │ │ │ │ │ ├── SymbolType.java
│ │ │ │ │ │ ├── SyntaxType.java
│ │ │ │ │ │ ├── Transaction.java
│ │ │ │ │ │ ├── Types.java
│ │ │ │ │ │ ├── Vector.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ └── util
│ │ │ │ │ │ ├── BlobBuilder.java
│ │ │ │ │ │ ├── SequenceSpliterator.java
│ │ │ │ │ │ └── VectorBuilder.java
│ │ │ │ ├── exceptions
│ │ │ │ │ ├── BadFormatException.java
│ │ │ │ │ ├── BadSignatureException.java
│ │ │ │ │ ├── BaseException.java
│ │ │ │ │ ├── FastRuntimeException.java
│ │ │ │ │ ├── InvalidDataException.java
│ │ │ │ │ ├── MissingDataException.java
│ │ │ │ │ ├── Panic.java
│ │ │ │ │ ├── ParseException.java
│ │ │ │ │ ├── ResultException.java
│ │ │ │ │ ├── TODOException.java
│ │ │ │ │ ├── ValidationException.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── init
│ │ │ │ │ ├── Init.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── json
│ │ │ │ │ ├── JSON5Reader.java
│ │ │ │ │ └── JSONReader.java
│ │ │ │ ├── lang
│ │ │ │ │ ├── Code.java
│ │ │ │ │ ├── Compiler.java
│ │ │ │ │ ├── Core.java
│ │ │ │ │ ├── RT.java
│ │ │ │ │ ├── Reader.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ ├── AClosure.java
│ │ │ │ │ │ ├── ADataFn.java
│ │ │ │ │ │ ├── CoreFn.java
│ │ │ │ │ │ ├── CorePred.java
│ │ │ │ │ │ ├── Fn.java
│ │ │ │ │ │ ├── ICoreDef.java
│ │ │ │ │ │ ├── KeywordFn.java
│ │ │ │ │ │ ├── MapFn.java
│ │ │ │ │ │ ├── MultiFn.java
│ │ │ │ │ │ ├── SeqFn.java
│ │ │ │ │ │ ├── SetFn.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ └── reader
│ │ │ │ │ │ ├── AntlrReader.java
│ │ │ │ │ │ ├── ConvexErrorListener.java
│ │ │ │ │ │ ├── ReaderUtils.java
│ │ │ │ │ │ ├── antlr
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ ├── lattice
│ │ │ │ │ ├── ALattice.java
│ │ │ │ │ ├── CompareLattice.java
│ │ │ │ │ ├── KeyedLattice.java
│ │ │ │ │ ├── MapLattice.java
│ │ │ │ │ ├── MaxLattice.java
│ │ │ │ │ ├── SetLattice.java
│ │ │ │ │ ├── SignedLattice.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── message
│ │ │ │ │ ├── Message.java
│ │ │ │ │ ├── MessageTag.java
│ │ │ │ │ └── MessageType.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── store
│ │ │ │ │ ├── ACachedStore.java
│ │ │ │ │ ├── AStore.java
│ │ │ │ │ ├── MemoryStore.java
│ │ │ │ │ ├── RefCache.java
│ │ │ │ │ ├── Stores.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── text
│ │ │ │ │ ├── AFormat.java
│ │ │ │ │ ├── AddressFormat.java
│ │ │ │ │ ├── PrintUtils.java
│ │ │ │ │ └── Text.java
│ │ │ │ └── util
│ │ │ │ │ ├── BenchUtils.java
│ │ │ │ │ ├── Bits.java
│ │ │ │ │ ├── ConfigUtils.java
│ │ │ │ │ ├── Counters.java
│ │ │ │ │ ├── Economics.java
│ │ │ │ │ ├── ErrorMessages.java
│ │ │ │ │ ├── FileUtils.java
│ │ │ │ │ ├── JSONUtils.java
│ │ │ │ │ ├── LatestUpdateQueue.java
│ │ │ │ │ ├── LoadMonitor.java
│ │ │ │ │ ├── MergeFunction.java
│ │ │ │ │ ├── Shutdown.java
│ │ │ │ │ ├── SoftCache.java
│ │ │ │ │ ├── ThreadUtils.java
│ │ │ │ │ ├── Trees.java
│ │ │ │ │ ├── UMath.java
│ │ │ │ │ ├── UnsafeRunnable.java
│ │ │ │ │ ├── Utils.java
│ │ │ │ │ └── package-info.java
│ │ │ ├── dlfs
│ │ │ │ ├── DLFS.java
│ │ │ │ ├── DLFSNode.java
│ │ │ │ ├── DLFSProvider.java
│ │ │ │ ├── DLFileSystem.java
│ │ │ │ ├── DLPath.java
│ │ │ │ └── impl
│ │ │ │ │ ├── DLDirectoryStream.java
│ │ │ │ │ ├── DLFSFileAttributes.java
│ │ │ │ │ ├── DLFSLocal.java
│ │ │ │ │ └── DLFileChannel.java
│ │ │ └── etch
│ │ │ │ ├── Etch.java
│ │ │ │ ├── EtchCorruptionError.java
│ │ │ │ ├── EtchStore.java
│ │ │ │ ├── EtchUtils.java
│ │ │ │ ├── IEtchIndexVisitor.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ └── resources-filtered
│ │ └── convex
│ │ └── core
│ │ └── build.properties
│ └── test
│ ├── cvx
│ └── test
│ │ ├── asset
│ │ ├── box.cvx
│ │ └── nft
│ │ │ ├── simple.cvx
│ │ │ └── tokens.cvx
│ │ ├── convex
│ │ ├── asset.cvx
│ │ ├── asset
│ │ │ └── quantity
│ │ │ │ └── set-long.cvx
│ │ ├── fungible.cvx
│ │ ├── fungible
│ │ │ └── generic.cvx
│ │ ├── lab
│ │ │ ├── cns.cvx
│ │ │ └── quasiquote.cvx
│ │ ├── play.cvx
│ │ ├── registry.cvx
│ │ ├── trust.cvx
│ │ └── trusted-oracle.cvx
│ │ └── torus
│ │ └── exchange.cvx
│ ├── java
│ ├── convex
│ │ ├── actors
│ │ │ ├── ActorsTest.java
│ │ │ ├── CurationMarketTest.java
│ │ │ ├── DistributorTest.java
│ │ │ ├── PredictionMarketTest.java
│ │ │ ├── RegistryTest.java
│ │ │ └── TorusTest.java
│ │ ├── comms
│ │ │ ├── GenTestFormat.java
│ │ │ └── VLCParamTest.java
│ │ ├── core
│ │ │ ├── MessageSizeTest.java
│ │ │ ├── PeerTest.java
│ │ │ ├── ResultTest.java
│ │ │ ├── StakingTest.java
│ │ │ ├── StateTest.java
│ │ │ ├── StateTransitionsTest.java
│ │ │ ├── TokenomicsTest.java
│ │ │ ├── TransactionTest.java
│ │ │ ├── cpos
│ │ │ │ ├── BeliefMergeTest.java
│ │ │ │ ├── BeliefTest.java
│ │ │ │ ├── BeliefVotingTest.java
│ │ │ │ └── OrderTest.java
│ │ │ ├── crypto
│ │ │ │ ├── AccountKeyTest.java
│ │ │ │ ├── BIP39Test.java
│ │ │ │ ├── HashTest.java
│ │ │ │ ├── KeyPairTest.java
│ │ │ │ ├── MnemonicTest.java
│ │ │ │ ├── PBETest.java
│ │ │ │ ├── PEMToolsTest.java
│ │ │ │ ├── PFXTest.java
│ │ │ │ ├── ParamTestHash.java
│ │ │ │ ├── SLIP10Test.java
│ │ │ │ ├── SymmetricTest.java
│ │ │ │ ├── WalletTest.java
│ │ │ │ └── bc
│ │ │ │ │ └── BCTest.java
│ │ │ ├── cvm
│ │ │ │ ├── AddressTest.java
│ │ │ │ ├── FunctionTest.java
│ │ │ │ ├── GenTestOps.java
│ │ │ │ └── PeerTest.java
│ │ │ ├── data
│ │ │ │ ├── AbstractionsTest.java
│ │ │ │ ├── AccountKeyTest.java
│ │ │ │ ├── AccountStatusTest.java
│ │ │ │ ├── AdversarialDataTest.java
│ │ │ │ ├── BlobsTest.java
│ │ │ │ ├── BlocksTest.java
│ │ │ │ ├── ByteFlagTest.java
│ │ │ │ ├── CAD3Test.java
│ │ │ │ ├── CharTest.java
│ │ │ │ ├── CollectionsTest.java
│ │ │ │ ├── EncodingSizeTest.java
│ │ │ │ ├── EncodingTest.java
│ │ │ │ ├── FormatTest.java
│ │ │ │ ├── FuzzTestFormat.java
│ │ │ │ ├── GenTestAnyValue.java
│ │ │ │ ├── GenTestBlobs.java
│ │ │ │ ├── GenTestDataStructures.java
│ │ │ │ ├── GenTestMap.java
│ │ │ │ ├── GenTestStrings.java
│ │ │ │ ├── GenTestVectors.java
│ │ │ │ ├── IndexTest.java
│ │ │ │ ├── KeywordTest.java
│ │ │ │ ├── ListsTest.java
│ │ │ │ ├── MapsTest.java
│ │ │ │ ├── ObjectsTest.java
│ │ │ │ ├── ParamTestBlobs.java
│ │ │ │ ├── ParamTestOps.java
│ │ │ │ ├── ParamTestRefs.java
│ │ │ │ ├── ParamTestValues.java
│ │ │ │ ├── ParamTestVector.java
│ │ │ │ ├── PeerStatusTest.java
│ │ │ │ ├── RecordTest.java
│ │ │ │ ├── RefTest.java
│ │ │ │ ├── SetsTest.java
│ │ │ │ ├── SignedDataTest.java
│ │ │ │ ├── StreamsTest.java
│ │ │ │ ├── StringsTest.java
│ │ │ │ ├── SymbolTest.java
│ │ │ │ ├── SyntaxTest.java
│ │ │ │ ├── TreeVectorTest.java
│ │ │ │ ├── VLCEncodingTest.java
│ │ │ │ ├── VectorsTest.java
│ │ │ │ ├── prim
│ │ │ │ │ ├── BigIntegerTest.java
│ │ │ │ │ ├── CharacterTest.java
│ │ │ │ │ ├── DoubleTest.java
│ │ │ │ │ └── LongTest.java
│ │ │ │ └── type
│ │ │ │ │ └── TypesTest.java
│ │ │ ├── examples
│ │ │ │ ├── BeliefDeltaSimulation.java
│ │ │ │ ├── CPoSSimulation.java
│ │ │ │ ├── EncodingTest.java
│ │ │ │ ├── EncodingTrials.java
│ │ │ │ ├── EtchStressTest.java
│ │ │ │ ├── JuiceTrials.java
│ │ │ │ ├── RawCVM.java
│ │ │ │ └── ReaderTrials.java
│ │ │ ├── init
│ │ │ │ ├── BaseTest.java
│ │ │ │ ├── GenesisTest.java
│ │ │ │ └── InitTest.java
│ │ │ ├── lang
│ │ │ │ ├── ACVMTest.java
│ │ │ │ ├── ActorTest.java
│ │ │ │ ├── AliasTest.java
│ │ │ │ ├── CastTest.java
│ │ │ │ ├── CodeTest.java
│ │ │ │ ├── CompilerTest.java
│ │ │ │ ├── ContextTest.java
│ │ │ │ ├── CoreTest.java
│ │ │ │ ├── DataStructuresTest.java
│ │ │ │ ├── DocsTest.java
│ │ │ │ ├── ExceptionTest.java
│ │ │ │ ├── ExpanderTest.java
│ │ │ │ ├── FunctionTest.java
│ │ │ │ ├── GenTestCode.java
│ │ │ │ ├── GenTestCore.java
│ │ │ │ ├── GenTestRT.java
│ │ │ │ ├── JuiceTest.java
│ │ │ │ ├── NumericsTest.java
│ │ │ │ ├── OpsTest.java
│ │ │ │ ├── ParamTestCasts.java
│ │ │ │ ├── ParamTestEvals.java
│ │ │ │ ├── ParamTestJuice.java
│ │ │ │ ├── ParamTestRTSequences.java
│ │ │ │ ├── PrecompileTest.java
│ │ │ │ ├── RTTest.java
│ │ │ │ ├── ReaderTest.java
│ │ │ │ ├── SpecialTest.java
│ │ │ │ ├── SyntaxTest.java
│ │ │ │ ├── TestState.java
│ │ │ │ └── reader
│ │ │ │ │ └── ANTLRTest.java
│ │ │ ├── lattice
│ │ │ │ └── LatticeTest.java
│ │ │ ├── message
│ │ │ │ ├── GenTestMessages.java
│ │ │ │ └── MessageTest.java
│ │ │ ├── text
│ │ │ │ └── TextTest.java
│ │ │ └── util
│ │ │ │ ├── EconomicsTest.java
│ │ │ │ ├── GenTestEconomics.java
│ │ │ │ ├── JSONUtilsTest.java
│ │ │ │ └── VisitCounter.java
│ │ ├── dlfs
│ │ │ └── DLFSTest.java
│ │ ├── etch
│ │ │ └── EtchTest.java
│ │ ├── lib
│ │ │ ├── AssetTester.java
│ │ │ ├── BasicNFTTest.java
│ │ │ ├── BoxTest.java
│ │ │ ├── CNSTest.java
│ │ │ ├── DIDTest.java
│ │ │ ├── FungibleTest.java
│ │ │ ├── MarketTradeTest.java
│ │ │ ├── MultiTokenTest.java
│ │ │ ├── OwnershipTest.java
│ │ │ ├── ShareTest.java
│ │ │ ├── SimpleNFTTest.java
│ │ │ ├── TrustActorTest.java
│ │ │ ├── TrustTest.java
│ │ │ └── WrappedCVXTest.java
│ │ ├── store
│ │ │ ├── EtchStoreTest.java
│ │ │ ├── MemoryStoreTest.java
│ │ │ ├── ParamTestStores.java
│ │ │ └── StoresTest.java
│ │ ├── test
│ │ │ ├── Assertions.java
│ │ │ ├── Samples.java
│ │ │ ├── Testing.java
│ │ │ └── generators
│ │ │ │ ├── AGenerator.java
│ │ │ │ ├── AddressGen.java
│ │ │ │ ├── AnyMapGen.java
│ │ │ │ ├── AnyRecordGen.java
│ │ │ │ ├── BlobGen.java
│ │ │ │ ├── BooleanGen.java
│ │ │ │ ├── ByteFlagGen.java
│ │ │ │ ├── CharGen.java
│ │ │ │ ├── CodedValueGen.java
│ │ │ │ ├── CollectionGen.java
│ │ │ │ ├── DataStructureGen.java
│ │ │ │ ├── DenseRecordGen.java
│ │ │ │ ├── DoubleGen.java
│ │ │ │ ├── ExtensionValueGen.java
│ │ │ │ ├── FormGen.java
│ │ │ │ ├── Gen.java
│ │ │ │ ├── HashMapGen.java
│ │ │ │ ├── IntegerGen.java
│ │ │ │ ├── KeywordGen.java
│ │ │ │ ├── ListGen.java
│ │ │ │ ├── LongGen.java
│ │ │ │ ├── NumericGen.java
│ │ │ │ ├── OpGen.java
│ │ │ │ ├── PrimitiveGen.java
│ │ │ │ ├── RecordGen.java
│ │ │ │ ├── SetGen.java
│ │ │ │ ├── StringGen.java
│ │ │ │ ├── SymbolGen.java
│ │ │ │ ├── SyntaxGen.java
│ │ │ │ ├── TransactionGen.java
│ │ │ │ ├── ValueGen.java
│ │ │ │ └── VectorGen.java
│ │ └── util
│ │ │ ├── BigIntegerParamTest.java
│ │ │ ├── BitsTest.java
│ │ │ ├── CacheTest.java
│ │ │ ├── ConfigTest.java
│ │ │ ├── GenTestUMath.java
│ │ │ ├── UMathTest.java
│ │ │ └── UtilsTest.java
│ ├── examples
│ │ └── generators
│ │ │ ├── BadListGen.java
│ │ │ └── BadListTest.java
│ └── lab
│ │ ├── ArchonTest.java
│ │ └── PaisleyTest.java
│ └── resources
│ ├── contracts
│ ├── box
│ │ └── test1.con
│ ├── deposit-box.con
│ ├── exceptional.con
│ ├── funding.con
│ ├── hello.con
│ ├── nft
│ │ └── simple-nft-test.con
│ └── token.con
│ ├── examples
│ ├── adventure.cvx
│ ├── asset-demo.cvx
│ ├── grant.cvx
│ ├── language.cvx
│ ├── market-trade.cvx
│ ├── samples.cvx
│ ├── smart-contract-shop-demo.cvx
│ ├── token-demo.cvx
│ └── trust-monitors-demo.cvx
│ ├── testsource
│ └── min.con
│ └── utils
│ └── config-test.json
├── convex-gui
├── .gitignore
├── README.md
├── docs
│ ├── icons
│ │ └── feather
│ │ │ ├── activity.svg
│ │ │ ├── airplay.svg
│ │ │ ├── alert-circle.svg
│ │ │ ├── alert-octagon.svg
│ │ │ ├── alert-triangle.svg
│ │ │ ├── align-center.svg
│ │ │ ├── align-justify.svg
│ │ │ ├── align-left.svg
│ │ │ ├── align-right.svg
│ │ │ ├── anchor.svg
│ │ │ ├── aperture.svg
│ │ │ ├── archive.svg
│ │ │ ├── arrow-down-circle.svg
│ │ │ ├── arrow-down-left.svg
│ │ │ ├── arrow-down-right.svg
│ │ │ ├── arrow-down.svg
│ │ │ ├── arrow-left-circle.svg
│ │ │ ├── arrow-left.svg
│ │ │ ├── arrow-right-circle.svg
│ │ │ ├── arrow-right.svg
│ │ │ ├── arrow-up-circle.svg
│ │ │ ├── arrow-up-left.svg
│ │ │ ├── arrow-up-right.svg
│ │ │ ├── arrow-up.svg
│ │ │ ├── at-sign.svg
│ │ │ ├── award.svg
│ │ │ ├── bar-chart-2.svg
│ │ │ ├── bar-chart.svg
│ │ │ ├── battery-charging.svg
│ │ │ ├── battery.svg
│ │ │ ├── bell-off.svg
│ │ │ ├── bell.svg
│ │ │ ├── bluetooth.svg
│ │ │ ├── bold.svg
│ │ │ ├── book-open.svg
│ │ │ ├── book.svg
│ │ │ ├── bookmark.svg
│ │ │ ├── box.svg
│ │ │ ├── briefcase.svg
│ │ │ ├── calendar.svg
│ │ │ ├── camera-off.svg
│ │ │ ├── camera.svg
│ │ │ ├── cast.svg
│ │ │ ├── check-circle.svg
│ │ │ ├── check-square.svg
│ │ │ ├── check.svg
│ │ │ ├── chevron-down.svg
│ │ │ ├── chevron-left.svg
│ │ │ ├── chevron-right.svg
│ │ │ ├── chevron-up.svg
│ │ │ ├── chevrons-down.svg
│ │ │ ├── chevrons-left.svg
│ │ │ ├── chevrons-right.svg
│ │ │ ├── chevrons-up.svg
│ │ │ ├── chrome.svg
│ │ │ ├── circle.svg
│ │ │ ├── clipboard.svg
│ │ │ ├── clock.svg
│ │ │ ├── cloud-drizzle.svg
│ │ │ ├── cloud-lightning.svg
│ │ │ ├── cloud-off.svg
│ │ │ ├── cloud-rain.svg
│ │ │ ├── cloud-snow.svg
│ │ │ ├── cloud.svg
│ │ │ ├── code.svg
│ │ │ ├── codepen.svg
│ │ │ ├── codesandbox.svg
│ │ │ ├── coffee.svg
│ │ │ ├── columns.svg
│ │ │ ├── command.svg
│ │ │ ├── compass.svg
│ │ │ ├── copy.svg
│ │ │ ├── corner-down-left.svg
│ │ │ ├── corner-down-right.svg
│ │ │ ├── corner-left-down.svg
│ │ │ ├── corner-left-up.svg
│ │ │ ├── corner-right-down.svg
│ │ │ ├── corner-right-up.svg
│ │ │ ├── corner-up-left.svg
│ │ │ ├── corner-up-right.svg
│ │ │ ├── cpu.svg
│ │ │ ├── credit-card.svg
│ │ │ ├── crop.svg
│ │ │ ├── crosshair.svg
│ │ │ ├── database.svg
│ │ │ ├── delete.svg
│ │ │ ├── disc.svg
│ │ │ ├── divide-circle.svg
│ │ │ ├── divide-square.svg
│ │ │ ├── divide.svg
│ │ │ ├── dollar-sign.svg
│ │ │ ├── download-cloud.svg
│ │ │ ├── download.svg
│ │ │ ├── dribbble.svg
│ │ │ ├── droplet.svg
│ │ │ ├── edit-2.svg
│ │ │ ├── edit-3.svg
│ │ │ ├── edit.svg
│ │ │ ├── external-link.svg
│ │ │ ├── eye-off.svg
│ │ │ ├── eye.svg
│ │ │ ├── facebook.svg
│ │ │ ├── fast-forward.svg
│ │ │ ├── feather.svg
│ │ │ ├── figma.svg
│ │ │ ├── file-minus.svg
│ │ │ ├── file-plus.svg
│ │ │ ├── file-text.svg
│ │ │ ├── file.svg
│ │ │ ├── film.svg
│ │ │ ├── filter.svg
│ │ │ ├── flag.svg
│ │ │ ├── folder-minus.svg
│ │ │ ├── folder-plus.svg
│ │ │ ├── folder.svg
│ │ │ ├── framer.svg
│ │ │ ├── frown.svg
│ │ │ ├── gift.svg
│ │ │ ├── git-branch.svg
│ │ │ ├── git-commit.svg
│ │ │ ├── git-merge.svg
│ │ │ ├── git-pull-request.svg
│ │ │ ├── github.svg
│ │ │ ├── gitlab.svg
│ │ │ ├── globe.svg
│ │ │ ├── grid.svg
│ │ │ ├── hard-drive.svg
│ │ │ ├── hash.svg
│ │ │ ├── headphones.svg
│ │ │ ├── heart.svg
│ │ │ ├── help-circle.svg
│ │ │ ├── hexagon.svg
│ │ │ ├── home.svg
│ │ │ ├── image.svg
│ │ │ ├── inbox.svg
│ │ │ ├── info.svg
│ │ │ ├── instagram.svg
│ │ │ ├── italic.svg
│ │ │ ├── key.svg
│ │ │ ├── layers.svg
│ │ │ ├── layout.svg
│ │ │ ├── life-buoy.svg
│ │ │ ├── link-2.svg
│ │ │ ├── link.svg
│ │ │ ├── linkedin.svg
│ │ │ ├── list.svg
│ │ │ ├── loader.svg
│ │ │ ├── lock.svg
│ │ │ ├── log-in.svg
│ │ │ ├── log-out.svg
│ │ │ ├── mail.svg
│ │ │ ├── map-pin.svg
│ │ │ ├── map.svg
│ │ │ ├── maximize-2.svg
│ │ │ ├── maximize.svg
│ │ │ ├── meh.svg
│ │ │ ├── menu.svg
│ │ │ ├── message-circle.svg
│ │ │ ├── message-square.svg
│ │ │ ├── mic-off.svg
│ │ │ ├── mic.svg
│ │ │ ├── minimize-2.svg
│ │ │ ├── minimize.svg
│ │ │ ├── minus-circle.svg
│ │ │ ├── minus-square.svg
│ │ │ ├── minus.svg
│ │ │ ├── monitor.svg
│ │ │ ├── moon.svg
│ │ │ ├── more-horizontal.svg
│ │ │ ├── more-vertical.svg
│ │ │ ├── mouse-pointer.svg
│ │ │ ├── move.svg
│ │ │ ├── music.svg
│ │ │ ├── navigation-2.svg
│ │ │ ├── navigation.svg
│ │ │ ├── octagon.svg
│ │ │ ├── package.svg
│ │ │ ├── paperclip.svg
│ │ │ ├── pause-circle.svg
│ │ │ ├── pause.svg
│ │ │ ├── pen-tool.svg
│ │ │ ├── percent.svg
│ │ │ ├── phone-call.svg
│ │ │ ├── phone-forwarded.svg
│ │ │ ├── phone-incoming.svg
│ │ │ ├── phone-missed.svg
│ │ │ ├── phone-off.svg
│ │ │ ├── phone-outgoing.svg
│ │ │ ├── phone.svg
│ │ │ ├── pie-chart.svg
│ │ │ ├── play-circle.svg
│ │ │ ├── play.svg
│ │ │ ├── plus-circle.svg
│ │ │ ├── plus-square.svg
│ │ │ ├── plus.svg
│ │ │ ├── pocket.svg
│ │ │ ├── power.svg
│ │ │ ├── printer.svg
│ │ │ ├── radio.svg
│ │ │ ├── refresh-ccw.svg
│ │ │ ├── refresh-cw.svg
│ │ │ ├── repeat.svg
│ │ │ ├── rewind.svg
│ │ │ ├── rotate-ccw.svg
│ │ │ ├── rotate-cw.svg
│ │ │ ├── rss.svg
│ │ │ ├── save.svg
│ │ │ ├── scissors.svg
│ │ │ ├── search.svg
│ │ │ ├── send.svg
│ │ │ ├── server.svg
│ │ │ ├── settings.svg
│ │ │ ├── share-2.svg
│ │ │ ├── share.svg
│ │ │ ├── shield-off.svg
│ │ │ ├── shield.svg
│ │ │ ├── shopping-bag.svg
│ │ │ ├── shopping-cart.svg
│ │ │ ├── shuffle.svg
│ │ │ ├── sidebar.svg
│ │ │ ├── skip-back.svg
│ │ │ ├── skip-forward.svg
│ │ │ ├── slack.svg
│ │ │ ├── slash.svg
│ │ │ ├── sliders.svg
│ │ │ ├── smartphone.svg
│ │ │ ├── smile.svg
│ │ │ ├── speaker.svg
│ │ │ ├── square.svg
│ │ │ ├── star.svg
│ │ │ ├── stop-circle.svg
│ │ │ ├── sun.svg
│ │ │ ├── sunrise.svg
│ │ │ ├── sunset.svg
│ │ │ ├── table.svg
│ │ │ ├── tablet.svg
│ │ │ ├── tag.svg
│ │ │ ├── target.svg
│ │ │ ├── terminal.svg
│ │ │ ├── thermometer.svg
│ │ │ ├── thumbs-down.svg
│ │ │ ├── thumbs-up.svg
│ │ │ ├── toggle-left.svg
│ │ │ ├── toggle-right.svg
│ │ │ ├── tool.svg
│ │ │ ├── trash-2.svg
│ │ │ ├── trash.svg
│ │ │ ├── trello.svg
│ │ │ ├── trending-down.svg
│ │ │ ├── trending-up.svg
│ │ │ ├── triangle.svg
│ │ │ ├── truck.svg
│ │ │ ├── tv.svg
│ │ │ ├── twitch.svg
│ │ │ ├── twitter.svg
│ │ │ ├── type.svg
│ │ │ ├── umbrella.svg
│ │ │ ├── underline.svg
│ │ │ ├── unlock.svg
│ │ │ ├── upload-cloud.svg
│ │ │ ├── upload.svg
│ │ │ ├── user-check.svg
│ │ │ ├── user-minus.svg
│ │ │ ├── user-plus.svg
│ │ │ ├── user-x.svg
│ │ │ ├── user.svg
│ │ │ ├── users.svg
│ │ │ ├── video-off.svg
│ │ │ ├── video.svg
│ │ │ ├── voicemail.svg
│ │ │ ├── volume-1.svg
│ │ │ ├── volume-2.svg
│ │ │ ├── volume-x.svg
│ │ │ ├── volume.svg
│ │ │ ├── watch.svg
│ │ │ ├── wifi-off.svg
│ │ │ ├── wifi.svg
│ │ │ ├── wind.svg
│ │ │ ├── x-circle.svg
│ │ │ ├── x-octagon.svg
│ │ │ ├── x-square.svg
│ │ │ ├── x.svg
│ │ │ ├── youtube.svg
│ │ │ ├── zap-off.svg
│ │ │ ├── zap.svg
│ │ │ ├── zoom-in.svg
│ │ │ └── zoom-out.svg
│ └── images
│ │ ├── convex-desktop.png
│ │ ├── ecosystem-hires.png
│ │ ├── filesystem-hires.png
│ │ ├── hacker-hires.png
│ │ ├── terminal-hires.png
│ │ ├── testnet-hires.png
│ │ ├── wallet-hires.png
│ │ └── world-hires.png
├── pom.xml
└── src
│ ├── main
│ ├── assembly
│ │ ├── full.xml
│ │ └── testing.xml
│ ├── java
│ │ └── convex
│ │ │ └── gui
│ │ │ ├── MainGUI.java
│ │ │ ├── actor
│ │ │ ├── AccountInfoPanel.java
│ │ │ ├── AccountWindow.java
│ │ │ ├── ActorInvokePanel.java
│ │ │ ├── ArgBox.java
│ │ │ ├── DeployPanel.java
│ │ │ ├── MarketComponent.java
│ │ │ ├── MarketsPanel.java
│ │ │ ├── OraclePanel.java
│ │ │ ├── ParamLabel.java
│ │ │ └── SmartOpComponent.java
│ │ │ ├── client
│ │ │ └── HomePanel.java
│ │ │ ├── components
│ │ │ ├── AbstractGUI.java
│ │ │ ├── ActionButton.java
│ │ │ ├── ActionPanel.java
│ │ │ ├── BalanceLabel.java
│ │ │ ├── BaseImageButton.java
│ │ │ ├── BaseListComponent.java
│ │ │ ├── BaseTextPane.java
│ │ │ ├── CodeLabel.java
│ │ │ ├── CodePane.java
│ │ │ ├── ConnectPanel.java
│ │ │ ├── ConvexTable.java
│ │ │ ├── DecimalAmountField.java
│ │ │ ├── DropdownMenu.java
│ │ │ ├── FilePicker.java
│ │ │ ├── HostCombo.java
│ │ │ ├── Identicon.java
│ │ │ ├── NonUpdatingCaret.java
│ │ │ ├── QRCode.java
│ │ │ ├── RightCopyMenu.java
│ │ │ ├── ScrollyList.java
│ │ │ ├── Toast.java
│ │ │ ├── WorldPanel.java
│ │ │ ├── account
│ │ │ │ ├── AccountChooserPanel.java
│ │ │ │ ├── AccountsPanel.java
│ │ │ │ ├── AddressCombo.java
│ │ │ │ ├── AddressField.java
│ │ │ │ └── KeyPairCombo.java
│ │ │ ├── package-info.java
│ │ │ └── renderer
│ │ │ │ ├── AccountKeyRenderer.java
│ │ │ │ ├── AddressRenderer.java
│ │ │ │ ├── BalanceRenderer.java
│ │ │ │ ├── CellRenderer.java
│ │ │ │ └── StringRenderer.java
│ │ │ ├── dlfs
│ │ │ ├── BrowserUtils.java
│ │ │ ├── DLFSBrowser.java
│ │ │ ├── DLFSPanel.java
│ │ │ ├── DLFSTreeCellRenderer.java
│ │ │ ├── DirectoryTree.java
│ │ │ ├── DnDTransferHandler.java
│ │ │ ├── FileList.java
│ │ │ └── PreviewPanel.java
│ │ │ ├── etch
│ │ │ ├── DatabasePanel.java
│ │ │ ├── EtchExplorer.java
│ │ │ └── EtchWindow.java
│ │ │ ├── keys
│ │ │ ├── KeyGenPanel.java
│ │ │ ├── KeyRingPanel.java
│ │ │ ├── UnlockWalletDialog.java
│ │ │ └── WalletComponent.java
│ │ │ ├── models
│ │ │ ├── AccountsTableModel.java
│ │ │ ├── BaseColumn.java
│ │ │ ├── BaseTableModel.java
│ │ │ ├── ComboModel.java
│ │ │ ├── OracleTableModel.java
│ │ │ ├── StateModel.java
│ │ │ └── TorusTableModel.java
│ │ │ ├── panels
│ │ │ ├── ActorsPanel.java
│ │ │ ├── DeployPanel.java
│ │ │ └── HomePanel.java
│ │ │ ├── peer
│ │ │ ├── AboutPanel.java
│ │ │ ├── BlockViewComponent.java
│ │ │ ├── PeerComponent.java
│ │ │ ├── PeerGUI.java
│ │ │ ├── PeerLaunchDialog.java
│ │ │ ├── ServerListPanel.java
│ │ │ ├── TorusPanel.java
│ │ │ └── stake
│ │ │ │ ├── PeerStakePanel.java
│ │ │ │ └── PeerStakeTable.java
│ │ │ ├── repl
│ │ │ ├── REPLClient.java
│ │ │ └── REPLPanel.java
│ │ │ ├── server
│ │ │ ├── ObserverPanel.java
│ │ │ ├── PeerInfoPanel.java
│ │ │ ├── PeerWindow.java
│ │ │ └── StressPanel.java
│ │ │ ├── state
│ │ │ ├── StateExplorer.java
│ │ │ ├── StateTreeNode.java
│ │ │ └── StateTreePanel.java
│ │ │ ├── tools
│ │ │ ├── HackerTools.java
│ │ │ ├── MessageFormatPanel.java
│ │ │ └── SystemInfoPanel.java
│ │ │ ├── utils
│ │ │ ├── CVXHighlighter.java
│ │ │ ├── RobinsonProjection.java
│ │ │ ├── SymbolIcon.java
│ │ │ ├── Terminal.java
│ │ │ ├── TextFormat.java
│ │ │ └── Toolkit.java
│ │ │ └── wallet
│ │ │ ├── AccountOverview.java
│ │ │ ├── FriendPanel.java
│ │ │ ├── QRPanel.java
│ │ │ ├── SettingsPanel.java
│ │ │ ├── SwapPanel.java
│ │ │ ├── SymbolLabel.java
│ │ │ ├── TokenButton.java
│ │ │ ├── TokenComponent.java
│ │ │ ├── TokenInfo.java
│ │ │ ├── TokenInfoPanel.java
│ │ │ ├── TokenListPanel.java
│ │ │ ├── TransferPanel.java
│ │ │ └── WalletApp.java
│ └── resources
│ │ ├── fonts
│ │ ├── MaterialSymbolsSharp.ttf
│ │ └── SourceCodePro-Regular.ttf
│ │ └── images
│ │ ├── Convex.png
│ │ ├── cog.png
│ │ ├── ecosystem.png
│ │ ├── filesystem.png
│ │ ├── hacker.png
│ │ ├── ic_cake_black_36dp.png
│ │ ├── ic_lock_open_black_36dp.png
│ │ ├── ic_lock_outline_black_36dp.png
│ │ ├── ic_priority_high_black_36dp.png
│ │ ├── ic_stars_black_36dp.png
│ │ ├── padlock-open.png
│ │ ├── padlock.png
│ │ ├── terminal-icon.png
│ │ ├── terminal.png
│ │ ├── testnet.png
│ │ ├── wallet.png
│ │ ├── world.png
│ │ └── www.png
│ └── test
│ └── java
│ └── convex
│ └── gui
│ ├── GUITest.java
│ ├── components
│ └── ComponentTest.java
│ └── dlfs
│ └── DLFSGUITest.java
├── convex-integration
├── pom.xml
├── pom.xml.versionsBackup
└── src
│ ├── main
│ ├── java
│ │ └── convex
│ │ │ └── main
│ │ │ └── Main.java
│ └── resources
│ │ └── logback.xml
│ └── test
│ └── java
│ └── convex
│ ├── java
│ └── RemoteRESTClientTest.java
│ └── restapi
│ └── RemoteBinaryClientTest.java
├── convex-java
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml
├── pom.xml.versionsBackup
└── src
│ ├── main
│ └── java
│ │ ├── convex
│ │ └── java
│ │ │ ├── ARESTClient.java
│ │ │ ├── ClientException.java
│ │ │ ├── Convex.java
│ │ │ ├── ConvexHTTP.java
│ │ │ ├── HTTPClients.java
│ │ │ ├── JSON.java
│ │ │ └── asset
│ │ │ ├── BaseAsset.java
│ │ │ ├── Fungible.java
│ │ │ └── TokenBuilder.java
│ │ └── module-info.java
│ └── test
│ ├── java
│ ├── convex
│ │ ├── demo
│ │ │ └── FaucetDemo.java
│ │ └── java
│ │ │ └── JSONTest.java
│ └── example
│ │ ├── asset
│ │ └── BuildAsset.java
│ │ └── trader
│ │ └── Trader.java
│ └── resources
│ └── example
│ └── trader
│ └── .gitignore
├── convex-observer
├── .gitignore
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── convex
│ │ └── observer
│ │ ├── AObserverQueue.java
│ │ ├── LogObserver.java
│ │ └── StrimziKafka.java
│ └── test
│ └── java
│ └── convex
│ └── observer
│ └── ObserverTest.java
├── convex-peer
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ ├── convex
│ │ ├── api
│ │ │ ├── Acquiror.java
│ │ │ ├── ContentTypes.java
│ │ │ ├── Convex.java
│ │ │ ├── ConvexDirect.java
│ │ │ ├── ConvexLocal.java
│ │ │ └── ConvexRemote.java
│ │ ├── net
│ │ │ ├── AConnection.java
│ │ │ ├── AServer.java
│ │ │ ├── ChallengeRequest.java
│ │ │ ├── IPUtils.java
│ │ │ ├── MemoryByteChannel.java
│ │ │ ├── MessageReceiver.java
│ │ │ ├── MessageSender.java
│ │ │ ├── ResultConsumer.java
│ │ │ ├── UDPServer.java
│ │ │ ├── impl
│ │ │ │ ├── HandlerException.java
│ │ │ │ ├── netty
│ │ │ │ │ ├── NettyConnection.java
│ │ │ │ │ ├── NettyInboundHandler.java
│ │ │ │ │ ├── NettyOutboundHandler.java
│ │ │ │ │ └── NettyServer.java
│ │ │ │ └── nio
│ │ │ │ │ ├── Connection.java
│ │ │ │ │ └── NIOServer.java
│ │ │ └── store
│ │ │ │ └── RemoteStore.java
│ │ └── peer
│ │ │ ├── API.java
│ │ │ ├── AThreadedComponent.java
│ │ │ ├── BeliefPropagator.java
│ │ │ ├── CVMExecutor.java
│ │ │ ├── Config.java
│ │ │ ├── ConfigException.java
│ │ │ ├── ConnectionManager.java
│ │ │ ├── LaunchException.java
│ │ │ ├── PeerException.java
│ │ │ ├── QueryHandler.java
│ │ │ ├── Server.java
│ │ │ └── TransactionHandler.java
│ │ └── module-info.java
│ └── test
│ └── java
│ └── convex
│ ├── api
│ ├── ConvexDirectTest.java
│ ├── ConvexLocalTest.java
│ └── ConvexRemoteTest.java
│ ├── examples
│ ├── AcquireState.java
│ ├── ClientApp.java
│ ├── Ed25519Sign.java
│ ├── JoinTestNetwork.java
│ ├── PeerCluster.java
│ ├── SigSamples.java
│ └── TestnetClient.java
│ ├── net
│ ├── ConnectionTest.java
│ ├── IPUtilsTest.java
│ ├── MemoryByteChannelTest.java
│ └── impl
│ │ ├── netty
│ │ └── NettyServerTest.java
│ │ └── nio
│ │ └── NIOServerTest.java
│ └── peer
│ ├── ConfigTest.java
│ ├── JoinNetworkTest.java
│ ├── RestoreTest.java
│ ├── ServerTest.java
│ ├── TestNetwork.java
│ └── examples
│ └── IPTest.java
├── convex-restapi
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── convex
│ │ │ └── restapi
│ │ │ ├── RESTServer.java
│ │ │ ├── WebApp.java
│ │ │ ├── api
│ │ │ ├── ABaseAPI.java
│ │ │ ├── AGenericAPI.java
│ │ │ ├── ChainAPI.java
│ │ │ ├── DLAPI.java
│ │ │ ├── DepAPI.java
│ │ │ ├── ExplorerAPI.java
│ │ │ └── PeerAdminAPI.java
│ │ │ ├── model
│ │ │ ├── CreateAccountRequest.java
│ │ │ ├── CreateAccountResponse.java
│ │ │ ├── FaucetRequest.java
│ │ │ ├── QueryAccountResponse.java
│ │ │ ├── QueryRequest.java
│ │ │ ├── ResultResponse.java
│ │ │ ├── TransactRequest.java
│ │ │ ├── TransactionPrepareRequest.java
│ │ │ ├── TransactionPrepareResponse.java
│ │ │ └── TransactionSubmitRequest.java
│ │ │ └── pub
│ │ │ └── package-info.java
│ └── resources
│ │ └── convex
│ │ └── restapi
│ │ └── pub
│ │ ├── css
│ │ └── pico.min.css
│ │ └── old-index.html
│ └── test
│ └── java
│ └── convex
│ └── restapi
│ └── test
│ ├── ARESTTest.java
│ ├── ConvexHTTPTest.java
│ ├── RESTAPITest.java
│ └── StressTest.java
├── convex-sodium
├── README.md
├── pom.xml
├── pom.xml.versionsBackup
└── src
│ ├── main
│ └── java
│ │ └── convex
│ │ └── core
│ │ └── crypto
│ │ └── sodium
│ │ ├── SodiumKeyPair.java
│ │ └── SodiumProvider.java
│ └── test
│ └── java
│ └── convex
│ └── core
│ └── crypto
│ └── sodium
│ ├── ProviderComparisonTest.java
│ └── SodiumTest.java
├── docs
├── coding-principles.md
├── network-governance-rules.md
└── wip
│ ├── ethos.md
│ ├── governance.md
│ └── misc-faq.md
└── pom.xml
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.cvx linguist-language=clojure
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.jar
2 | *.class
3 | *.jfr
4 | *.iml
5 | /lib/
6 | /classes/
7 | target/
8 | /checkouts/
9 | .nrepl-port
10 | .cpcache/
11 | **/.project
12 | **/.classpath
13 | **/.settings/
14 | /.apt_generated/
15 | /myrecording.jfr
16 | /.apt_generated_tests/
17 | **/.factorypath
18 | /etch-db
19 | /bin/
20 | .idea/
21 | .vscode/
22 | .DS_Store
23 | /peers-shared-db
24 | .metadata
25 | /pom.xml.versionsBackup
26 |
--------------------------------------------------------------------------------
/convex:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | BASE_PATH=$(dirname $0)
4 | JAR_NAME=`ls -1 $BASE_PATH/convex-integration/target/convex.jar`
5 |
6 | # echo "using: $JAR_NAME"
7 |
8 | java -jar $JAR_NAME $@
9 |
--------------------------------------------------------------------------------
/convex-benchmarks/.gitignore:
--------------------------------------------------------------------------------
1 | /.settings/
2 | /.classpath
3 | /.project
4 | /pom.xml.versionsBackup
5 | /bin/
6 |
--------------------------------------------------------------------------------
/convex-cli/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | /.settings/
3 | /.classpath
4 | /.project
5 | /pom.xml.versionsBackup
6 | /bin/
7 |
--------------------------------------------------------------------------------
/convex-cli/src/docs/examples.md:
--------------------------------------------------------------------------------
1 | ./convex key gen
2 |
3 | ./convex key list
4 |
5 | ./convex local start --public-key 660
6 |
7 | ./convex transact -a 11 --port 62854 "*balance*"
--------------------------------------------------------------------------------
/convex-cli/src/main/java/convex/cli/ATopCommand.java:
--------------------------------------------------------------------------------
1 | package convex.cli;
2 |
3 | import picocli.CommandLine.ParentCommand;
4 |
5 | /**
6 | * Abstract base class for top level subcommands, i.e. convex xxxx
7 | */
8 | public abstract class ATopCommand extends ACommand {
9 |
10 | @ParentCommand
11 | protected Main mainParent;
12 |
13 | @Override
14 | public Main cli() {
15 | return mainParent;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/convex-cli/src/main/java/convex/cli/desktop/Desktop.java:
--------------------------------------------------------------------------------
1 | package convex.cli.desktop;
2 |
3 | import convex.cli.ATopCommand;
4 | import convex.gui.MainGUI;
5 | import picocli.CommandLine.Command;
6 |
7 | @Command(name="desktop",
8 | mixinStandardHelpOptions=false,
9 | description="Run the Convex Desktop GUI")
10 | public class Desktop extends ATopCommand {
11 |
12 | @Override
13 | public void execute() {
14 | MainGUI gui = new MainGUI();
15 | gui.run();
16 | gui.waitForClose();
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/convex-cli/src/main/java/convex/cli/key/AKeyCommand.java:
--------------------------------------------------------------------------------
1 | package convex.cli.key;
2 |
3 | import convex.cli.ACommand;
4 | import convex.cli.Main;
5 | import convex.cli.mixins.KeyStoreMixin;
6 | import picocli.CommandLine.Mixin;
7 | import picocli.CommandLine.ParentCommand;
8 |
9 | /**
10 | * Base class for commands working with the configured key store
11 | */
12 | public abstract class AKeyCommand extends ACommand {
13 |
14 | @ParentCommand
15 | protected Key keyParent;
16 |
17 | @Mixin
18 | protected KeyStoreMixin storeMixin;
19 |
20 |
21 | @Override
22 | public Main cli() {
23 | return keyParent.cli();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/convex-cli/src/main/java/convex/cli/mixins/AMixin.java:
--------------------------------------------------------------------------------
1 | package convex.cli.mixins;
2 |
3 | import convex.cli.ACommand;
4 | import convex.cli.Main;
5 | import picocli.CommandLine.ParentCommand;
6 |
7 | public class AMixin extends ACommand{
8 |
9 | @ParentCommand
10 | ACommand parentCommand;
11 |
12 | @Override
13 | public void execute() {
14 | throw new UnsupportedOperationException("Mixin should not be called as command!");
15 | }
16 |
17 | @Override
18 | public Main cli() {
19 | return parentCommand.cli();
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/convex-cli/src/main/java/convex/cli/mixins/ClientKeyMixin.java:
--------------------------------------------------------------------------------
1 | package convex.cli.mixins;
2 |
3 | import picocli.CommandLine.Mixin;
4 |
5 | public class ClientKeyMixin {
6 |
7 | @Mixin
8 | public KeyMixin keyMixin;
9 |
10 | @Mixin
11 | public KeyStoreMixin storeMixin;
12 | }
13 |
--------------------------------------------------------------------------------
/convex-cli/src/main/java/convex/cli/mixins/ClientMixin.java:
--------------------------------------------------------------------------------
1 | package convex.cli.mixins;
2 |
3 | import picocli.CommandLine.Mixin;
4 |
5 | public class ClientMixin extends AMixin {
6 |
7 | @Mixin
8 | ClientKeyMixin clientKeyMixin;
9 |
10 | @Mixin
11 | RemotePeerMixin peerMixin;
12 |
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/convex-cli/src/main/launch/.gitignore:
--------------------------------------------------------------------------------
1 | /convex.exe
2 |
--------------------------------------------------------------------------------
/convex-cli/src/main/resources/art/convex.logo:
--------------------------------------------------------------------------------
1 | _______
2 | / ___ \ ____ _______ __ ____ ___ ___
3 | / \ \/ / _ \ / \ \/ // __ \\ \/ /
4 | \ \___( <_> ) | \ /\ ___/ > <
5 | \______ /\____/|___| /\_/ \___ \>__/\_ \
6 | \/ \/ \/ \/
--------------------------------------------------------------------------------
/convex-cli/src/test/resources/test.txt:
--------------------------------------------------------------------------------
1 | Test file for CLI
--------------------------------------------------------------------------------
/convex-core/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | /.project
3 | /.classpath
4 | /.settings/
5 | /pom.xml.versionsBackup
6 | /bin/
7 |
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/app/names.cvx:
--------------------------------------------------------------------------------
1 | 'app.names
2 |
3 | ;; A CNS name manager for purchasable / tradable names
4 |
5 |
6 | ;; Map of String -> [monitor expiry]
7 | (def names {})
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/convex/asset/spatial.cvx:
--------------------------------------------------------------------------------
1 | 'asset.spatial
2 |
3 | ;; Spatial tokens
4 |
5 | (defn build [options]
6 | (let [end (blob (or (:end options) 0x010000000000000000))]
7 | [
8 | `(def supply (index ~start ~end))
9 | ]))
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/convex/lab/curation-market.cvx:
--------------------------------------------------------------------------------
1 | 'asset.curation-market
2 |
3 |
4 | ;; Map for curation markets
5 | ;; { ID -> Market record }
6 | ;;
7 | ;; Where market record is a vector
8 | ;; 0 = controller can be nil
9 | ;; 1 = bonding asset (address or scoped token)
10 | ;; 2 = shape (double, defining price = supply ^ shape, 1.0 is linear price growth)
11 |
12 | (def markets {})
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/convex/lab/messenger.cvx:
--------------------------------------------------------------------------------
1 | (defn accept
2 |
3 | ^{:callable true
4 | :doc {:description "Accepts a message and offered assets."
5 | :examples [{:code "(call messenger (accept message-id))"}]
6 | :signature [{:params [token holder]}]}}
7 | [message-id]
8 |
9 | )
10 |
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/convex/torus/genesis-currencies.cvx:
--------------------------------------------------------------------------------
1 | [
2 | ["USDF" "Foundation USD" "Convex Foundation USD pre-payment credits" "$" 10000 2 1.0]
3 | ["GBPF" "Foundation GBP" "Convex Foundation GBP pre-payment credits" "£" 10000 2 1.27]
4 | ]
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/convex/trust/governance.cvx:
--------------------------------------------------------------------------------
1 | 'convex.governance
--------------------------------------------------------------------------------
/convex-core/src/main/cvx/convex/user.cvx:
--------------------------------------------------------------------------------
1 | ;; CNS implementation and registry for `user.xxxx` names
2 |
3 | 'user
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/Networks.java:
--------------------------------------------------------------------------------
1 | package convex.core;
2 |
3 | import convex.core.data.Hash;
4 |
5 | public class Networks {
6 |
7 | public static final Hash PRONONET_GENESIS=Hash.parse("0xb0e44f2a645abfa539f5b96b7a0eabb0f902866feaff0f7c12d1213e02333f13");
8 | }
9 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/crypto/Encoding.java:
--------------------------------------------------------------------------------
1 | package convex.core.crypto;
2 |
3 | /**
4 | * Class for crypto encoding constants and utility functions
5 | */
6 | public class Encoding {
7 |
8 | /**
9 | * Format for private keys
10 | */
11 | public static final String PRIVATE_KEY_FORMAT="PKCS#8";
12 | }
13 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/crypto/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Crypto algorithms used within Convex, particularly for digital signatures and
3 | * cryptographic hashes
4 | */
5 | package convex.core.crypto;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/crypto/wallet/AWallet.java:
--------------------------------------------------------------------------------
1 | package convex.core.crypto.wallet;
2 |
3 | /**
4 | * Base class for wallet implementations. A wallet implementation provides access and storage for multiple wallet entries
5 | */
6 | public abstract class AWallet implements IWallet {
7 |
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/crypto/wallet/IWallet.java:
--------------------------------------------------------------------------------
1 | package convex.core.crypto.wallet;
2 |
3 | import convex.core.data.AccountKey;
4 |
5 | public interface IWallet {
6 |
7 | public void getKeyPair(AccountKey pubKey) throws LockedWalletException;
8 | }
9 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/crypto/wallet/LockedWalletException.java:
--------------------------------------------------------------------------------
1 | package convex.core.crypto.wallet;
2 |
3 | import convex.core.exceptions.BaseException;
4 |
5 | @SuppressWarnings("serial")
6 | public class LockedWalletException extends BaseException {
7 |
8 | public LockedWalletException(String message) {
9 | super(message);
10 | }
11 | public LockedWalletException(String message, Throwable cause) {
12 | super(message, cause);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/ACVMCode.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm;
2 |
3 | import convex.core.data.ACell;
4 |
5 | /**
6 | * Abstract base class for CVM code constructs
7 | */
8 | public abstract class ACVMCode extends ACell {
9 |
10 | @Override public final boolean isCVMValue() {
11 | // CVM code objects are CVM values by definition
12 | return true;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/Log.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm;
2 |
3 | /**
4 | * Constants and utility functions for CVM log
5 | *
6 | * See CAD33
7 | */
8 | public class Log {
9 |
10 | public static final int ENTRY_LENGTH = 4;
11 |
12 | // Positions of fields in log entries
13 | public static final int P_ADDRESS=0;
14 | public static final int P_SCOPE=1;
15 | public static final int P_LOCATION=2;
16 | public static final int P_VALUES=3;
17 | }
18 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/exception/AReturn.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm.exception;
2 |
3 | /**
4 | * Abstract base class for exceptional returns
5 | */
6 | public abstract class AReturn extends AExceptional {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/exception/AThrowable.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm.exception;
2 |
3 | import convex.core.data.ACell;
4 |
5 | public abstract class AThrowable extends AExceptional {
6 |
7 | protected final ACell code;
8 |
9 | public AThrowable(ACell code) {
10 | if (code==null) throw new IllegalArgumentException("Error code must not be null");
11 | this.code=code;
12 | }
13 |
14 | @Override
15 | public final ACell getCode() {
16 | return code;
17 | }
18 |
19 | public abstract void addTrace(String traceMessage);
20 | }
21 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/exception/ATrampoline.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm.exception;
2 |
3 | import convex.core.data.ACell;
4 |
5 | /**
6 | * Abstract base class for trampolining function return values
7 | */
8 | public abstract class ATrampoline extends AReturn {
9 |
10 | protected final ACell[] args;
11 |
12 | public ATrampoline(ACell[] values) {
13 | this.args=values;
14 | }
15 |
16 | public ACell getValue(int i) {
17 | return args[i];
18 | }
19 |
20 | public ACell[] getValues() {
21 | return args;
22 | }
23 |
24 | public int arity() {
25 | return args.length;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/impl/InvalidBlockException.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm.impl;
2 |
3 | import convex.core.exceptions.ValidationException;
4 |
5 | /**
6 | * Exception thrown when a Block contains invalid structure or data
7 | */
8 | @SuppressWarnings("serial")
9 | public class InvalidBlockException extends ValidationException {
10 |
11 | public InvalidBlockException(String message) {
12 | super(message);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/ops/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * CVM Operations, effectively the "machine code" of the CVM
3 | */
4 | package convex.core.cvm.ops;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Core CVM implementation. The CVM implements the Convex state transition function when
3 | * transactions are executed on the Convex network to modify the global state
4 | */
5 | package convex.core.cvm;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/transactions/Transactions.java:
--------------------------------------------------------------------------------
1 | package convex.core.cvm.transactions;
2 |
3 | import java.util.HashMap;
4 |
5 | import convex.core.util.JSONUtils;
6 |
7 | public class Transactions {
8 |
9 | public static HashMap toJSON(ATransaction tx) {
10 | HashMap result= JSONUtils.jsonMap(tx);
11 | result.put("type", tx.getClass().getSimpleName());
12 | return result;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/cvm/transactions/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Convex network transaction types.
3 | */
4 | package convex.core.cvm.transactions;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/ASpecialVector.java:
--------------------------------------------------------------------------------
1 | package convex.core.data;
2 |
3 | import java.util.function.Consumer;
4 |
5 | /**
6 | * BAse class for specialised vector implementations
7 | */
8 | public abstract class ASpecialVector extends AVector {
9 |
10 | public ASpecialVector(long count) {
11 | super(count);
12 | }
13 |
14 | @SuppressWarnings("unchecked")
15 | @Override
16 | protected void visitAllChildren(Consumer> visitor) {
17 | ((AVector)getCanonical()).visitAllChildren(visitor);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/IAssociative.java:
--------------------------------------------------------------------------------
1 | package convex.core.data;
2 |
3 | /**
4 | * Interface for associative data structures
5 | *
6 | * @param Type of associative keys
7 | * @param Type of associative values
8 | */
9 | public interface IAssociative {
10 |
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/IRefFunction.java:
--------------------------------------------------------------------------------
1 | package convex.core.data;
2 |
3 | /**
4 | * Functional interface for operations on Cell Refs that may throw a
5 | * MissingDataException
6 | *
7 | * In general, IRefFunction is used to provide a visitor for data objects containing nested Refs.
8 | */
9 | @FunctionalInterface
10 | public interface IRefFunction {
11 |
12 | // Note we can't have a generic type parameter in a functional interface.
13 | // So using a wildcard seems the best option?
14 |
15 | @SuppressWarnings("rawtypes")
16 | public Ref apply(Ref t);
17 | }
18 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/Lists.java:
--------------------------------------------------------------------------------
1 | package convex.core.data;
2 |
3 | public class Lists {
4 |
5 | @SuppressWarnings("unchecked")
6 | public static List empty() {
7 | return (List) List.EMPTY;
8 | }
9 |
10 | @SuppressWarnings("unchecked")
11 | public static > L create(java.util.List list) {
12 | return (L) List.create(Cells.toCellArray(list));
13 | }
14 |
15 | @SafeVarargs
16 | public static AList of(Object... vals) {
17 | return List.of(vals);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Data structures and algorithms, including a complete set of classes
3 | * required to implement immutable, decentralised data objects.
4 | *
5 | * Supports the full set of CAD3 objects and encodings.
6 | */
7 | package convex.core.data;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/prim/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Implementation of CVM Primitive Data types
3 | */
4 | package convex.core.data.prim;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/type/ANumericType.java:
--------------------------------------------------------------------------------
1 | package convex.core.data.type;
2 |
3 | import convex.core.data.prim.APrimitive;
4 |
5 | public abstract class ANumericType extends AStandardType {
6 |
7 | protected ANumericType(Class klass) {
8 | super(klass);
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/data/type/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * CVM type system implementation. Currently internal to CVM.
3 | */
4 | package convex.core.data.type;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/exceptions/BadSignatureException.java:
--------------------------------------------------------------------------------
1 | package convex.core.exceptions;
2 |
3 | import convex.core.data.ACell;
4 | import convex.core.data.SignedData;
5 |
6 | @SuppressWarnings("serial")
7 | public class BadSignatureException extends ValidationException {
8 |
9 | private SignedData> sig;
10 |
11 | public BadSignatureException(String message, SignedData> sig) {
12 | super(message);
13 | this.sig = sig;
14 | }
15 |
16 | @SuppressWarnings("unchecked")
17 | public SignedData getSignature() {
18 | return (SignedData) sig;
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/exceptions/FastRuntimeException.java:
--------------------------------------------------------------------------------
1 | package convex.core.exceptions;
2 |
3 | import convex.core.Constants;
4 |
5 | @SuppressWarnings("serial")
6 | public class FastRuntimeException extends RuntimeException {
7 |
8 | public FastRuntimeException(String message) {
9 | super(message);
10 | }
11 |
12 | // Don't fill in a stack trace for fast exceptions. We are going to catch and ignore it anyway.....
13 | @Override
14 | public Throwable fillInStackTrace() {
15 | if (Constants.OMIT_VALIDATION_STACKTRACES) return this;
16 | return super.fillInStackTrace();
17 |
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/exceptions/Panic.java:
--------------------------------------------------------------------------------
1 | package convex.core.exceptions;
2 |
3 | /**
4 | * Class representing an unexpected error that should halt the system
5 | *
6 | * Should not usually be caught
7 | */
8 | @SuppressWarnings("serial")
9 | public class Panic extends Error {
10 | public Panic(String message, Throwable cause) {
11 | super(message,cause);
12 | }
13 |
14 | public Panic(String message) {
15 | this(message,null);
16 | }
17 |
18 | public Panic(Throwable cause) {
19 | this(null,cause);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/exceptions/ParseException.java:
--------------------------------------------------------------------------------
1 | package convex.core.exceptions;
2 |
3 | /**
4 | * Class for parse exceptions
5 | *
6 | */
7 | @SuppressWarnings("serial")
8 | public class ParseException extends RuntimeException {
9 |
10 | public ParseException(String message) {
11 | super(message);
12 | }
13 |
14 | public ParseException(String message, Throwable cause) {
15 | super(message, cause);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/exceptions/TODOException.java:
--------------------------------------------------------------------------------
1 | package convex.core.exceptions;
2 |
3 | @SuppressWarnings("serial")
4 | public class TODOException extends RuntimeException {
5 |
6 | public TODOException(String message) {
7 | super("TODO: "+message);
8 | }
9 |
10 | public TODOException() {
11 | super("TODO");
12 | }
13 |
14 | public TODOException(Exception e) {
15 | super("TODO: "+e.getMessage(),e);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/exceptions/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Specialised exception classes used in the Convex implementation and libraries
3 | */
4 | package convex.core.exceptions;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/init/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Package used to create genesis states for new Convex networks
3 | */
4 | package convex.core.init;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/lang/impl/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Internal CVM language implementation classes
3 | */
4 | package convex.core.lang.impl;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/lang/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Core CVM language implementation for Convex Lisp and associated runtime functions
3 | */
4 | package convex.core.lang;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/lang/reader/antlr/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Generated ANTLR classes for the Convex Reader
3 | */
4 | package convex.core.lang.reader.antlr;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/lang/reader/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Implementation of the standard Convex Lisp Reader
3 | */
4 | package convex.core.lang.reader;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/lattice/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Base package for lattice processing operations
3 | */
4 | package convex.core.lattice;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/message/MessageTag.java:
--------------------------------------------------------------------------------
1 | package convex.core.message;
2 |
3 | import convex.core.data.Keyword;
4 |
5 | /**
6 | * Constant tags used to identify general purpose messages
7 | */
8 | public class MessageTag {
9 |
10 | public static final Keyword STATUS_REQUEST = Keyword.intern("SR");
11 | public static final Keyword QUERY=Keyword.intern("Q");
12 | public static final Keyword TRANSACT=Keyword.intern("TX");
13 |
14 | public static final Keyword DATA_REQUEST=Keyword.intern("DR");
15 |
16 | public static final Keyword BYE=Keyword.intern("BYE");
17 |
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Fundamental Convex classes used for the decentralised network
3 | */
4 | package convex.core;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/store/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Etch database for convergent immutable storage
3 | */
4 | package convex.core.store;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/text/AFormat.java:
--------------------------------------------------------------------------------
1 | package convex.core.text;
2 |
3 | /**
4 | * Base class for Convex-specific formats.
5 | *
6 | * These are all thread safe.
7 | */
8 | @SuppressWarnings("serial")
9 | public abstract class AFormat extends java.text.Format {
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/util/BenchUtils.java:
--------------------------------------------------------------------------------
1 | package convex.core.util;
2 |
3 | import java.util.function.Consumer;
4 |
5 | public class BenchUtils {
6 |
7 | public static void benchMark(int runs, Runnable r, Consumer report) {
8 | for (int i=0; i< runs; i++) {
9 | long start=System.nanoTime();
10 | r.run();
11 | long end=System.nanoTime();
12 | report.accept((1e-9*(end-start)));
13 | }
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/util/MergeFunction.java:
--------------------------------------------------------------------------------
1 | package convex.core.util;
2 |
3 | public abstract interface MergeFunction {
4 |
5 | public abstract V merge(V a, V b);
6 |
7 | /**
8 | * Reverse a MergeFunction so that it can be applied with opposite ordering.
9 | * This is useful for handling merge functions that are not commutative.
10 | *
11 | * @return A MergeFunction that merges the arguments in the reverse order.
12 | */
13 | public default MergeFunction reverse() {
14 | return (a, b) -> merge(b, a);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/util/UnsafeRunnable.java:
--------------------------------------------------------------------------------
1 | package convex.core.util;
2 |
3 | public interface UnsafeRunnable {
4 | void run () throws Exception;
5 | }
6 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/core/util/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Convex utility classes and miscellaneous functionality
3 | *
4 | * These are subject to change and refactoring and do not represent a fixed public API,
5 | * however they are available for use in applications depending on convex-core if helpful.
6 | */
7 | package convex.core.util;
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/etch/EtchCorruptionError.java:
--------------------------------------------------------------------------------
1 | package convex.etch;
2 |
3 | @SuppressWarnings("serial")
4 | public class EtchCorruptionError extends Error {
5 |
6 | public EtchCorruptionError(String message) {
7 | super(message);
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/etch/IEtchIndexVisitor.java:
--------------------------------------------------------------------------------
1 | package convex.etch;
2 |
3 | import java.io.IOException;
4 |
5 | /**
6 | * Visitor for Etch index
7 | */
8 | public interface IEtchIndexVisitor {
9 | public void visit(Etch e, int level, int[] digits, long indexPointer) throws IOException;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-core/src/main/java/convex/etch/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Convex network transaction types.
3 | */
4 | package convex.etch;
--------------------------------------------------------------------------------
/convex-core/src/main/resources-filtered/convex/core/build.properties:
--------------------------------------------------------------------------------
1 | convex.core.version=${project.version}
--------------------------------------------------------------------------------
/convex-core/src/test/cvx/test/convex/lab/quasiquote.cvx:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/core/crypto/PBETest.java:
--------------------------------------------------------------------------------
1 | package convex.core.crypto;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertEquals;
4 |
5 | import org.bouncycastle.util.encoders.Hex;
6 | import org.junit.jupiter.api.Test;
7 |
8 | public class PBETest {
9 |
10 | @Test
11 | public void testKeyDerivation() {
12 | byte[] bs = PBE.deriveKey(new char[0], new byte[1], 128);
13 | assertEquals(16, bs.length);
14 | assertEquals("a352cdf92312599de774874ad9f3fcc5", Hex.toHexString(bs));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/core/crypto/WalletTest.java:
--------------------------------------------------------------------------------
1 | package convex.core.crypto;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertNotNull;
4 |
5 | import java.io.File;
6 |
7 | import org.junit.jupiter.api.Test;
8 |
9 | import convex.core.crypto.wallet.PKCS12Wallet;
10 |
11 | public class WalletTest {
12 |
13 | @Test
14 | public void testTempStore() {
15 | String password="OmarSharif";
16 | File file=PKCS12Wallet.createTempStore(password);
17 | assertNotNull(file);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/core/examples/JuiceTrials.java:
--------------------------------------------------------------------------------
1 | package convex.core.examples;
2 |
3 | /**
4 | * Test class for juice costs relative to execution time
5 | */
6 | public class JuiceTrials {
7 |
8 |
9 | public static void main(String[] args) {
10 |
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/core/lang/CodeTest.java:
--------------------------------------------------------------------------------
1 | package convex.core.lang;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertEquals;
4 |
5 | import org.junit.jupiter.api.Test;
6 |
7 | import convex.core.cvm.Symbols;
8 | import convex.core.data.Lists;
9 | import convex.core.data.prim.CVMLong;
10 |
11 | public class CodeTest {
12 | @Test public void testQuote() {
13 | assertEquals(Lists.of(Symbols.QUOTE, Symbols.FOO),Code.quote(Symbols.FOO));
14 | assertEquals(Lists.of(Symbols.QUOTE, 1),Code.quote(CVMLong.ONE));
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/core/lang/SyntaxTest.java:
--------------------------------------------------------------------------------
1 | package convex.core.lang;
2 |
3 | import static convex.test.Assertions.assertCVMEquals;
4 |
5 | import org.junit.jupiter.api.Test;
6 |
7 | import convex.core.cvm.Syntax;
8 | import convex.core.data.ObjectsTest;
9 |
10 | public class SyntaxTest {
11 |
12 | @Test
13 | public void testSyntaxConstructor() {
14 | Syntax s = Syntax.create(RT.cvm(1L));
15 | assertCVMEquals(1L, s.getValue());
16 |
17 | ObjectsTest.doAnyValueTests(s);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/core/util/VisitCounter.java:
--------------------------------------------------------------------------------
1 | package convex.core.util;
2 |
3 | import java.util.function.Consumer;
4 |
5 | public class VisitCounter implements Consumer {
6 |
7 | public long count;
8 |
9 | @Override
10 | public void accept(T t) {
11 | count++;
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/store/ParamTestStores.java:
--------------------------------------------------------------------------------
1 | package convex.store;
2 |
3 | public class ParamTestStores {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/test/generators/AGenerator.java:
--------------------------------------------------------------------------------
1 | package convex.test.generators;
2 |
3 | import com.pholser.junit.quickcheck.generator.GenerationStatus;
4 | import com.pholser.junit.quickcheck.generator.Generator;
5 | import com.pholser.junit.quickcheck.random.SourceOfRandomness;
6 |
7 | /**
8 | * Generator for arbitrary Addresses
9 | */
10 | public abstract class AGenerator extends Generator {
11 |
12 | protected AGenerator(Class type) {
13 | super(type);
14 | }
15 |
16 | @Override
17 | public abstract T generate(SourceOfRandomness r, GenerationStatus status);
18 | }
19 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/util/BitsTest.java:
--------------------------------------------------------------------------------
1 | package convex.util;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertEquals;
4 |
5 | import org.junit.jupiter.api.Test;
6 |
7 | import convex.core.util.Bits;
8 |
9 | public class BitsTest {
10 |
11 | @Test public void testLeadingZeros() {
12 | assertEquals(16,Bits.leadingZeros(0x00FFFF));
13 | assertEquals(15,Bits.leadingZeros(0x010000));
14 |
15 | assertEquals(18,Bits.leadingZeros(16383));
16 | assertEquals(17,Bits.leadingZeros(16384));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/util/GenTestUMath.java:
--------------------------------------------------------------------------------
1 | package convex.util;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertEquals;
4 |
5 | import org.junit.runner.RunWith;
6 |
7 | import com.pholser.junit.quickcheck.Property;
8 | import com.pholser.junit.quickcheck.runner.JUnitQuickcheck;
9 |
10 | import convex.core.util.UMath;
11 |
12 | @RunWith(JUnitQuickcheck.class)
13 | public class GenTestUMath {
14 |
15 |
16 | @Property
17 | public void singleOps(Long a) {
18 | long mulHigh=UMath.multiplyHigh(a, a);
19 |
20 | assertEquals(mulHigh,UMath.multiplyHigh(-a, -a));
21 | }
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/convex/util/UMathTest.java:
--------------------------------------------------------------------------------
1 | package convex.util;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertEquals;
4 |
5 | import org.junit.jupiter.api.Test;
6 |
7 | import convex.core.util.UMath;
8 |
9 | public class UMathTest {
10 |
11 | @Test
12 | public void testMultiplyHigh() {
13 | assertEquals(1L,UMath.multiplyHigh(0x100000000L, 0x100000000L));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/convex-core/src/test/java/examples/generators/BadListTest.java:
--------------------------------------------------------------------------------
1 | package examples.generators;
2 |
3 | //import org.junit.runner.RunWith;
4 |
5 | //import com.pholser.junit.quickcheck.*;
6 | //import com.pholser.junit.quickcheck.runner.JUnitQuickcheck;
7 |
8 | // @RunWith(JUnitQuickcheck.class)
9 | public class BadListTest {
10 | // This explodes!
11 | // @Property
12 | // public void testListFunctions(@From(BadListGen.class) Object a) {
13 | // System.out.println(a);
14 | // }
15 |
16 | // @Property
17 | public void test2(Object a) {
18 | // System.out.println(a);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/convex-core/src/test/resources/contracts/deposit-box.con:
--------------------------------------------------------------------------------
1 | ;; A mostly stateless smart contract that allows deposits from any account
2 | ;; and a full withdrawal by anyone. A public charity box.
3 | ;;
4 | (fn []
5 |
6 | ;; Deposit function accepts any offer.
7 | ;;
8 | (defn deposit
9 | ^{:callable true}
10 | []
11 | (accept *offer*))
12 |
13 |
14 | ;; Withdraw function sends the caller the complete balance.
15 | ;;
16 | (defn withdraw
17 | ^{:callable true}
18 | []
19 | (transfer *caller* *balance*)))
20 |
--------------------------------------------------------------------------------
/convex-core/src/test/resources/contracts/exceptional.con:
--------------------------------------------------------------------------------
1 | (do ;; Test contract for state changes and rollback.
2 |
3 | (def fragile :ok)
4 |
5 | (defn halt-fn
6 | ^{:callable true}
7 | [x]
8 | (halt x)
9 | (return :foo)
10 | :bar)
11 |
12 | (defn rollback-fn
13 | ^{:callable true}
14 | [x]
15 | (def fragile :broken)
16 | (rollback x)
17 | :bar)
18 |
19 | (defn break-fn
20 | ^{:callable true}
21 | [x]
22 | (def fragile :broken)
23 | x)
24 |
25 | (defn get-fragile
26 | ^{:callable true}
27 | []
28 | (return fragile))
29 |
30 | )
31 |
--------------------------------------------------------------------------------
/convex-core/src/test/resources/contracts/hello.con:
--------------------------------------------------------------------------------
1 | ;; The Hello World of smart contracts
2 | (do
3 |
4 | (def people #{})
5 |
6 | (defn greet
7 | ^{:callable true}
8 | [name]
9 | (if (people name)
10 | (str "Welcome back " name)
11 | (do
12 | (def people (conj people name))
13 | (str "Hello " name)
14 | )))
15 |
16 | )
17 |
--------------------------------------------------------------------------------
/convex-core/src/test/resources/examples/language.cvx:
--------------------------------------------------------------------------------
1 | ;; Define a Vector
2 | (def a [1 2 3])
3 |
4 | (conj a 4)
5 | => [1 2 3 4]
6 |
7 | ;; Define a Function
8 | (def square [x]
9 | (* x x))
10 |
11 | (square 10)
12 | => 100
13 |
14 |
15 |
16 | (defmacro defonce [sym exp]
17 | `(if (defined? '~sym) nil (def ~sym ~exp)))
18 |
19 | (defonce foo 12)
20 | => 12
21 |
22 | (defonce foo 17)
23 | => nil
24 |
25 | foo
26 | => 12
27 |
28 | (call ;;#177
29 | (run
30 | `(do
31 | (undef run)
32 | (set-controller ~*address*))))
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/convex-core/src/test/resources/examples/samples.cvx:
--------------------------------------------------------------------------------
1 | ;; Deploy a new token
2 |
3 | (def my-token (deploy (fungible/build-token {:supply 1000000})))
4 |
5 | ;; Create new new market
6 |
7 | (torus/create-market my-token)
8 |
9 |
10 |
11 | ;; Buy USD tokens with my-token
12 |
13 | (torus/buy USD 10000 my-token)
--------------------------------------------------------------------------------
/convex-core/src/test/resources/testsource/min.con:
--------------------------------------------------------------------------------
1 | (defn mymin [& vals]
2 | (let [fst (first vals)
3 | n (count vals)]
4 | (loop [min fst i 1]
5 | (if (>= i n)
6 | min
7 | (let [v (nth vals i)]
8 | (recur (if (< v min) v min) (inc i)))))))
--------------------------------------------------------------------------------
/convex-core/src/test/resources/utils/config-test.json:
--------------------------------------------------------------------------------
1 | {
2 | /** Conif jest file in JSON5 **/
3 | "config":"test",
4 | "array":[]
5 | }
--------------------------------------------------------------------------------
/convex-gui/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | /.settings/
3 | /.classpath
4 | /.project
5 | /pom.xml.versionsBackup
6 | /bin/
7 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/activity.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/airplay.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/alert-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/alert-octagon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/alert-triangle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/align-center.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/align-justify.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/align-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/align-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/anchor.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/aperture.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/archive.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-down-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-down-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-down-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-left-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-right-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-up-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-up-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-up-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/at-sign.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/award.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bar-chart-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bar-chart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/battery-charging.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/battery.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bell-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bell.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bluetooth.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bold.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/book-open.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/book.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/bookmark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/box.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/briefcase.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/calendar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/camera-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/camera.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cast.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/check-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/check-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/check.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevron-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevron-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevrons-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevrons-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevrons-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chevrons-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/chrome.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/clipboard.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/clock.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cloud-drizzle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cloud-lightning.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cloud-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cloud-rain.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cloud-snow.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/cloud.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/code.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/codepen.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/coffee.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/columns.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/command.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/compass.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/copy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-down-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-down-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-left-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-left-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-right-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-right-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-up-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/corner-up-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/credit-card.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/crop.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/crosshair.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/database.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/delete.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/disc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/divide-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/divide-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/divide.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/dollar-sign.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/download-cloud.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/download.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/dribbble.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/droplet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/edit-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/edit-3.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/edit.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/external-link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/eye-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/eye.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/facebook.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/fast-forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/feather.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/figma.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/file-minus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/file-plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/file-text.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/film.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/filter.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/flag.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/folder-minus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/folder-plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/folder.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/framer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/frown.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/gift.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/git-branch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/git-commit.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/git-merge.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/git-pull-request.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/github.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/gitlab.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/globe.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/grid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/hard-drive.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/hash.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/headphones.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/heart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/help-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/hexagon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/home.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/image.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/inbox.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/info.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/instagram.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/italic.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/key.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/layers.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/layout.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/life-buoy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/link-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/linkedin.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/loader.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/lock.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/log-in.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/log-out.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/mail.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/map-pin.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/map.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/maximize-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/maximize.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/meh.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/menu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/message-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/message-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/mic-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/mic.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/minimize-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/minimize.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/minus-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/minus-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/minus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/monitor.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/moon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/more-horizontal.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/more-vertical.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/mouse-pointer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/move.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/music.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/navigation-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/navigation.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/octagon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/package.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/paperclip.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/pause-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/pen-tool.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/percent.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone-call.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone-forwarded.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone-incoming.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone-missed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone-outgoing.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/phone.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/pie-chart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/play-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/plus-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/plus-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/pocket.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/power.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/printer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/radio.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/refresh-ccw.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/refresh-cw.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/repeat.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/rewind.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/rotate-ccw.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/rotate-cw.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/rss.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/save.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/scissors.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/search.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/send.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/server.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/share-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/share.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/shield-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/shield.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/shopping-bag.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/shopping-cart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/shuffle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/sidebar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/skip-back.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/skip-forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/slash.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/sliders.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/smartphone.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/smile.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/speaker.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/star.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/stop-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/sunrise.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/sunset.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/table.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/tablet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/tag.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/target.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/terminal.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/thermometer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/thumbs-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/thumbs-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/toggle-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/toggle-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/tool.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/trash-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/trash.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/trello.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/trending-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/trending-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/triangle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/truck.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/tv.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/twitch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/twitter.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/type.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/umbrella.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/underline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/unlock.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/upload-cloud.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/upload.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/user-check.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/user-minus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/user-plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/user-x.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/user.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/users.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/video-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/video.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/voicemail.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/volume-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/volume-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/volume-x.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/volume.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/watch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/wifi-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/wifi.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/wind.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/x-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/x-octagon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/x-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/x.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/youtube.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/zap-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/zap.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/zoom-in.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/icons/feather/zoom-out.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/convex-gui/docs/images/convex-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/convex-desktop.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/ecosystem-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/ecosystem-hires.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/filesystem-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/filesystem-hires.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/hacker-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/hacker-hires.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/terminal-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/terminal-hires.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/testnet-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/testnet-hires.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/wallet-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/wallet-hires.png
--------------------------------------------------------------------------------
/convex-gui/docs/images/world-hires.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/docs/images/world-hires.png
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/actor/ArgBox.java:
--------------------------------------------------------------------------------
1 | package convex.gui.actor;
2 |
3 | import java.awt.Dimension;
4 |
5 | import javax.swing.JTextField;
6 |
7 | import convex.gui.utils.Toolkit;
8 |
9 | @SuppressWarnings("serial")
10 | public class ArgBox extends JTextField {
11 |
12 | public ArgBox() {
13 | setFont(Toolkit.MONO_FONT);
14 | this.setPreferredSize(new Dimension(300,30));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/actor/ParamLabel.java:
--------------------------------------------------------------------------------
1 | package convex.gui.actor;
2 |
3 | import javax.swing.JLabel;
4 | import javax.swing.SwingConstants;
5 |
6 | import convex.gui.utils.Toolkit;
7 |
8 | /**
9 | * Generic label component for displaying code
10 | */
11 | @SuppressWarnings("serial")
12 | public class ParamLabel extends JLabel {
13 |
14 | public ParamLabel(String text) {
15 | super(" " + text + " ");
16 | this.setHorizontalAlignment(SwingConstants.RIGHT);
17 | this.setFont(Toolkit.MONO_FONT);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/ActionPanel.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components;
2 |
3 | import javax.swing.JPanel;
4 | import javax.swing.border.BevelBorder;
5 |
6 | import net.miginfocom.swing.MigLayout;
7 |
8 | /**
9 | * A panel used for displaying a list of action buttons at the bottom of the
10 | * screen.
11 | */
12 | @SuppressWarnings("serial")
13 | public class ActionPanel extends JPanel {
14 |
15 | public ActionPanel() {
16 | super();
17 |
18 | MigLayout layout = new MigLayout();
19 | setLayout(layout);
20 |
21 | setBorder(new BevelBorder(BevelBorder.RAISED, null, null, null, null));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/BaseImageButton.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components;
2 |
3 | import javax.swing.Icon;
4 | import javax.swing.JButton;
5 |
6 | @SuppressWarnings("serial")
7 | public class BaseImageButton extends JButton {
8 |
9 | public BaseImageButton(Icon icon) {
10 | super(icon);
11 | this.setAlignmentX(JButton.CENTER_ALIGNMENT);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/BaseListComponent.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components;
2 |
3 | import javax.swing.JPanel;
4 | import javax.swing.border.BevelBorder;
5 | import javax.swing.border.CompoundBorder;
6 |
7 | import convex.gui.utils.Toolkit;
8 |
9 | @SuppressWarnings("serial")
10 | public class BaseListComponent extends JPanel {
11 |
12 | public BaseListComponent() {
13 | setBorder(new CompoundBorder(new BevelBorder(BevelBorder.RAISED, null, null, null, null),
14 | Toolkit.createEmptyBorder(2)));
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/NonUpdatingCaret.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components;
2 |
3 | import java.awt.Rectangle;
4 |
5 | import javax.swing.text.DefaultCaret;
6 |
7 | @SuppressWarnings("serial")
8 | public class NonUpdatingCaret extends DefaultCaret {
9 | @Override
10 | protected void adjustVisibility(Rectangle nloc) {
11 |
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * This package provides general purpose Convex GUI components
3 | *
4 | *
5 | * @since 0.7.13
6 | * @author mikera
7 | * @version 1.1
8 | */
9 | package convex.gui.components;
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/renderer/AddressRenderer.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components.renderer;
2 |
3 | import javax.swing.JLabel;
4 |
5 | import convex.core.cvm.Address;
6 | import convex.core.util.Utils;
7 |
8 | @SuppressWarnings("serial")
9 | public class AddressRenderer extends CellRenderer {
10 |
11 | public AddressRenderer(int alignment) {
12 | super(alignment);
13 | }
14 |
15 | public AddressRenderer() {
16 | super(JLabel.LEFT);
17 | }
18 |
19 | @Override
20 | public void setValue(Object o) {
21 | String s=Utils.toString(Address.parse(o));
22 | super.setValue(s);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/renderer/CellRenderer.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components.renderer;
2 |
3 | import javax.swing.table.DefaultTableCellRenderer;
4 |
5 | import convex.core.util.Utils;
6 |
7 | @SuppressWarnings("serial")
8 | public class CellRenderer extends DefaultTableCellRenderer {
9 | public CellRenderer(int alignment) {
10 | super();
11 | this.setHorizontalAlignment(alignment);
12 | }
13 |
14 | public void setValue(Object value) {
15 | setText(Utils.toString(value));
16 | }
17 |
18 | }
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/components/renderer/StringRenderer.java:
--------------------------------------------------------------------------------
1 | package convex.gui.components.renderer;
2 |
3 | import javax.swing.JLabel;
4 |
5 | @SuppressWarnings("serial")
6 | public class StringRenderer extends CellRenderer {
7 | public StringRenderer(int alignment) {
8 | super(alignment);
9 | }
10 |
11 | public StringRenderer() {
12 | super(JLabel.RIGHT);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/models/BaseColumn.java:
--------------------------------------------------------------------------------
1 | package convex.gui.models;
2 |
3 | public class BaseColumn {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/models/BaseTableModel.java:
--------------------------------------------------------------------------------
1 | package convex.gui.models;
2 |
3 | import javax.swing.table.AbstractTableModel;
4 |
5 | @SuppressWarnings("serial")
6 | public abstract class BaseTableModel extends AbstractTableModel {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/utils/TextFormat.java:
--------------------------------------------------------------------------------
1 | package convex.gui.utils;
2 |
3 | import convex.core.text.Text;
4 |
5 | public class TextFormat {
6 | public String convexBalance(long bal) {
7 | return Text.toFriendlyNumber(bal);
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/convex-gui/src/main/java/convex/gui/wallet/FriendPanel.java:
--------------------------------------------------------------------------------
1 | package convex.gui.wallet;
2 |
3 | import javax.swing.JPanel;
4 |
5 | import convex.api.Convex;
6 |
7 | @SuppressWarnings("serial")
8 | public class FriendPanel extends JPanel {
9 |
10 | public FriendPanel(Convex convex) {
11 | // TODO Auto-generated constructor stub
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/fonts/MaterialSymbolsSharp.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/fonts/MaterialSymbolsSharp.ttf
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/fonts/SourceCodePro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/fonts/SourceCodePro-Regular.ttf
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/Convex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/Convex.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/cog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/cog.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/ecosystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/ecosystem.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/filesystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/filesystem.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/hacker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/hacker.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/ic_cake_black_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/ic_cake_black_36dp.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/ic_lock_open_black_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/ic_lock_open_black_36dp.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/ic_lock_outline_black_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/ic_lock_outline_black_36dp.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/ic_priority_high_black_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/ic_priority_high_black_36dp.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/ic_stars_black_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/ic_stars_black_36dp.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/padlock-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/padlock-open.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/padlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/padlock.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/terminal-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/terminal-icon.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/terminal.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/testnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/testnet.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/wallet.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/world.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/world.png
--------------------------------------------------------------------------------
/convex-gui/src/main/resources/images/www.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Convex-Dev/convex/eef0f8d2e126212772d88c01865e7fffc6d084b8/convex-gui/src/main/resources/images/www.png
--------------------------------------------------------------------------------
/convex-integration/src/main/java/convex/main/Main.java:
--------------------------------------------------------------------------------
1 | package convex.main;
2 |
3 | import convex.gui.utils.Terminal;
4 |
5 | public class Main {
6 |
7 | public static void main(String... args) {
8 | boolean terminal=Terminal.checkIfTerminal();
9 | if (terminal) {
10 | convex.cli.Main.main(args);
11 | } else {
12 | convex.gui.MainGUI.main(args);
13 | }
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/convex-integration/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/convex-java/.gitignore:
--------------------------------------------------------------------------------
1 | /.classpath
2 | /.project
3 | /.settings/
4 |
--------------------------------------------------------------------------------
/convex-java/src/main/java/convex/java/ClientException.java:
--------------------------------------------------------------------------------
1 | package convex.java;
2 |
3 | /**
4 | * Exception class for Convex client errors
5 | */
6 | @SuppressWarnings("serial")
7 | public class ClientException extends Exception {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/convex-java/src/main/java/convex/java/asset/BaseAsset.java:
--------------------------------------------------------------------------------
1 | package convex.java.asset;
2 |
3 | import convex.core.cvm.Address;
4 | import convex.java.Convex;
5 |
6 | /**
7 | * Abstract base class for asset instances
8 | * @param Type of asset quantity values
9 | */
10 | public abstract class BaseAsset {
11 |
12 | protected final Convex convex;
13 |
14 | protected BaseAsset(Convex convex) {
15 | this.convex=convex;
16 | }
17 |
18 | public abstract T getBalance();
19 |
20 | public abstract T getBalance(Address holder);
21 | }
22 |
--------------------------------------------------------------------------------
/convex-java/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module convex.java {
2 | exports convex.java.asset;
3 | exports convex.java;
4 |
5 | requires transitive convex.core;
6 | requires json.simple;
7 | requires transitive org.apache.httpcomponents.client5.httpclient5;
8 | requires transitive org.apache.httpcomponents.core5.httpcore5;
9 | requires transitive convex.peer;
10 | }
--------------------------------------------------------------------------------
/convex-java/src/test/java/convex/demo/FaucetDemo.java:
--------------------------------------------------------------------------------
1 | package convex.demo;
2 |
3 | import convex.core.crypto.AKeyPair;
4 | import convex.core.cvm.Address;
5 | import convex.java.Convex;
6 |
7 | public class FaucetDemo {
8 |
9 | public static void main(String[] args) {
10 | Convex convex=Convex.connect("https://convex.world");
11 |
12 | // Create a key pair to use with Convex
13 | AKeyPair kp=AKeyPair.generate();
14 |
15 | // Create an account
16 | Address address= convex.createAccount(kp);
17 | System.out.println("Created account "+address);
18 |
19 |
20 | System.out.println("All done");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/convex-java/src/test/resources/example/trader/.gitignore:
--------------------------------------------------------------------------------
1 | /APIKEY
2 |
--------------------------------------------------------------------------------
/convex-observer/.gitignore:
--------------------------------------------------------------------------------
1 | /pom.xml.versionsBackup
2 |
--------------------------------------------------------------------------------
/convex-observer/src/test/java/convex/observer/ObserverTest.java:
--------------------------------------------------------------------------------
1 | package convex.observer;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertEquals;
4 |
5 | import org.json.simple.JSONValue;
6 | import org.junit.jupiter.api.Test;
7 |
8 | import convex.core.data.ACell;
9 | import convex.core.lang.RT;
10 |
11 | public class ObserverTest {
12 | @Test public void testArrayJSON() {
13 | long [] ls=new long[] {1,2,3};
14 | ACell al=RT.cvm(ls);
15 |
16 | String s=JSONValue.toJSONString(al);
17 | assertEquals("[1,2,3]",s);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/convex-peer/.gitignore:
--------------------------------------------------------------------------------
1 | /.classpath
2 | /.settings/
3 | /.project
4 | /pom.xml.versionsBackup
5 | /temp-join-db.etch
6 | /bin/
7 |
--------------------------------------------------------------------------------
/convex-peer/README.md:
--------------------------------------------------------------------------------
1 | # Convex Peer Server
2 |
3 | Implementation of a Peer on the Convex network plus Peer protocol networking
4 |
5 | ## Overview
6 |
7 | Key features:
8 | - Operate a Peer on the Convex Network
9 | - Interact with Peers using the binary Peer Protocol
10 | - Messaging and Networking implementation to support the Convex Network
11 |
12 | ## License
13 |
14 | Copyright 2019-2023 The Convex Foundation and Contributors
15 |
16 | Code in `convex-peer` is provided under the Convex Public License
--------------------------------------------------------------------------------
/convex-peer/src/main/java/convex/net/impl/HandlerException.java:
--------------------------------------------------------------------------------
1 | package convex.net.impl;
2 |
3 | /**
4 | * Exception thrown when an unexpected error occurs in a message handler
5 | */
6 | @SuppressWarnings("serial")
7 | public class HandlerException extends Exception {
8 |
9 | public HandlerException(String message, Exception cause) {
10 | super(message,cause);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/convex-peer/src/main/java/convex/peer/ConfigException.java:
--------------------------------------------------------------------------------
1 | package convex.peer;
2 |
3 | /**
4 | * Message thrown when a failure occurs during peer configuration
5 | */
6 | @SuppressWarnings("serial")
7 | public class ConfigException extends PeerException {
8 |
9 | public ConfigException(String message, Throwable cause) {
10 | super(message, cause);
11 |
12 | }
13 |
14 | public ConfigException(String message) {
15 | this(message, null);
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/convex-peer/src/main/java/convex/peer/LaunchException.java:
--------------------------------------------------------------------------------
1 | package convex.peer;
2 |
3 | /**
4 | * Exception thrown when a failure occurs during peer launch
5 | */
6 | @SuppressWarnings("serial")
7 | public class LaunchException extends PeerException {
8 |
9 | public LaunchException(String message, Throwable cause) {
10 | super(message, cause);
11 |
12 | }
13 |
14 | public LaunchException(String message) {
15 | this(message, null);
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/convex-peer/src/main/java/convex/peer/PeerException.java:
--------------------------------------------------------------------------------
1 | package convex.peer;
2 |
3 | /**
4 | * Base exception class for peer operations and functionality
5 | */
6 | @SuppressWarnings("serial")
7 | public class PeerException extends Exception {
8 |
9 | public PeerException(String message, Throwable cause) {
10 | super (message,cause);
11 | }
12 |
13 |
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/convex-peer/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module convex.peer {
2 | exports convex.net;
3 | exports convex.peer;
4 | exports convex.net.store;
5 | exports convex.api;
6 |
7 | requires transitive convex.core;
8 | requires java.net.http;
9 | requires org.slf4j;
10 | requires transitive io.netty.common;
11 | requires io.netty.transport;
12 | requires io.netty.buffer;
13 | requires io.netty.codec;
14 | }
--------------------------------------------------------------------------------
/convex-restapi/.gitignore:
--------------------------------------------------------------------------------
1 | /.classpath
2 | /.project
3 | /.settings/
4 | /pom.xml.versionsBackup
5 | /.apt_generated/
6 | /.apt_generated_tests/
7 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/api/ABaseAPI.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.api;
2 |
3 | import convex.peer.Server;
4 | import convex.restapi.RESTServer;
5 |
6 | /**
7 | * BAse class for API based services
8 | */
9 | public abstract class ABaseAPI extends AGenericAPI {
10 |
11 | protected final RESTServer restServer;
12 | protected final Server server;
13 |
14 | public ABaseAPI(RESTServer restServer) {
15 | this.restServer=restServer;
16 | this.server=restServer.getServer();
17 | }
18 |
19 |
20 |
21 |
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/api/DepAPI.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.api;
2 |
3 | import convex.restapi.RESTServer;
4 | import io.javalin.Javalin;
5 |
6 | /**
7 | * Class for Data Ecosystem services
8 | *
9 | * Designed to conform with the Datacraft DEP standards, see https://github.com/datacraft-dsc/DEPs
10 | */
11 | public class DepAPI extends ABaseAPI {
12 |
13 | public DepAPI(RESTServer restServer) {
14 | super(restServer);
15 |
16 | }
17 |
18 | @Override
19 | public void addRoutes(Javalin app) {
20 | // TODO Auto-generated method stub
21 |
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/CreateAccountRequest.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class CreateAccountRequest {
7 | public String accountKey;
8 | }
9 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/CreateAccountResponse.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class CreateAccountResponse {
7 | public String address;
8 |
9 | public String amount;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/FaucetRequest.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class FaucetRequest {
7 | public String address;
8 | public Object amount;
9 | }
10 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/QueryAccountResponse.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class QueryAccountResponse {
7 | public long address;
8 | public long sequence;
9 | public long balance;
10 | public long allowance;
11 | public long memorySize;
12 | public String key;
13 | public String type;
14 | }
15 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/QueryRequest.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class QueryRequest {
7 | public String address;
8 | public String source;
9 | public boolean raw;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/ResultResponse.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class ResultResponse {
7 | public String value;
8 | public String errorCode;
9 | public Object info;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/TransactRequest.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class TransactRequest {
7 | public String source;
8 | public String seed;
9 | public String address;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/TransactionPrepareRequest.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class TransactionPrepareRequest {
7 | public String address;
8 | public String source;
9 | public long sequence;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/TransactionPrepareResponse.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class TransactionPrepareResponse {
7 | public String address;
8 | public String source;
9 | public long sequence;
10 | public String hash;
11 | }
12 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/model/TransactionSubmitRequest.java:
--------------------------------------------------------------------------------
1 | package convex.restapi.model;
2 |
3 | import io.javalin.openapi.OpenApiByFields;
4 |
5 | @OpenApiByFields
6 | public class TransactionSubmitRequest {
7 | public String hash;
8 | public String accountKey;
9 | public String sig;
10 | }
11 |
--------------------------------------------------------------------------------
/convex-restapi/src/main/java/convex/restapi/pub/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Package for static resources used by convex-restapi
3 | */
4 | package convex.restapi.pub;
--------------------------------------------------------------------------------
/convex-restapi/src/main/resources/convex/restapi/pub/old-index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Convex Peer Server
9 | This is the default page for a Convex Peer Server with REST API
10 |
11 | You may be interested in:
12 |
17 |
18 |
19 |
--------------------------------------------------------------------------------