@kynesyslabs/demosdk 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/abstraction/CoinFinder.js +19 -23
- package/build/abstraction/CoinFinder.js.map +1 -1
- package/build/abstraction/EvmCoinFinder.js +48 -89
- package/build/abstraction/EvmCoinFinder.js.map +1 -1
- package/build/abstraction/Identities.d.ts +28 -1
- package/build/abstraction/Identities.js +58 -24
- package/build/abstraction/Identities.js.map +1 -1
- package/build/abstraction/index.js +4 -9
- package/build/abstraction/index.js.map +1 -1
- package/build/abstraction/providers/AbstractionProviders.js +1 -3
- package/build/abstraction/providers/AbstractionProviders.js.map +1 -1
- package/build/abstraction/providers/CoinAddresses.js +4 -7
- package/build/abstraction/providers/CoinAddresses.js.map +1 -1
- package/build/abstraction/providers/Providers.js +13 -18
- package/build/abstraction/providers/Providers.js.map +1 -1
- package/build/abstraction/providers/evm/ankr.js +8 -14
- package/build/abstraction/providers/evm/ankr.js.map +1 -1
- package/build/abstraction/providers/evm/arbitrum.js +4 -10
- package/build/abstraction/providers/evm/arbitrum.js.map +1 -1
- package/build/abstraction/providers/evm/bsc.js +4 -10
- package/build/abstraction/providers/evm/bsc.js.map +1 -1
- package/build/abstraction/providers/evm/ethereum.js +5 -11
- package/build/abstraction/providers/evm/ethereum.js.map +1 -1
- package/build/abstraction/providers/evm/index.js +4 -14
- package/build/abstraction/providers/evm/index.js.map +1 -1
- package/build/abstraction/providers/evm/optimism.js +4 -10
- package/build/abstraction/providers/evm/optimism.js.map +1 -1
- package/build/abstraction/providers/index.js +2 -7
- package/build/abstraction/providers/index.js.map +1 -1
- package/build/abstraction/providers/non-evm/bitcoin.js +4 -10
- package/build/abstraction/providers/non-evm/bitcoin.js.map +1 -1
- package/build/abstraction/providers/non-evm/index.js +4 -14
- package/build/abstraction/providers/non-evm/index.js.map +1 -1
- package/build/abstraction/providers/non-evm/multiversx.js +4 -10
- package/build/abstraction/providers/non-evm/multiversx.js.map +1 -1
- package/build/abstraction/providers/non-evm/solana.js +7 -13
- package/build/abstraction/providers/non-evm/solana.js.map +1 -1
- package/build/abstraction/providers/non-evm/xrp.js +4 -10
- package/build/abstraction/providers/non-evm/xrp.js.map +1 -1
- package/build/abstraction/types/UDResolution.js +1 -2
- package/build/abstraction/types/UDResolution.js.map +1 -1
- package/build/bridge/index.js +12 -33
- package/build/bridge/index.js.map +1 -1
- package/build/bridge/nativeBridge.js +16 -19
- package/build/bridge/nativeBridge.js.map +1 -1
- package/build/bridge/nativeBridgeTypes.js +6 -9
- package/build/bridge/nativeBridgeTypes.js.map +1 -1
- package/build/bridge/rubicBridge.js +1 -4
- package/build/bridge/rubicBridge.js.map +1 -1
- package/build/contracts/ContractDeployer.js +6 -43
- package/build/contracts/ContractDeployer.js.map +1 -1
- package/build/contracts/ContractFactory.js +8 -13
- package/build/contracts/ContractFactory.js.map +1 -1
- package/build/contracts/ContractInstance.js +3 -7
- package/build/contracts/ContractInstance.js.map +1 -1
- package/build/contracts/ContractInteractor.js +4 -41
- package/build/contracts/ContractInteractor.js.map +1 -1
- package/build/contracts/index.js +4 -12
- package/build/contracts/index.js.map +1 -1
- package/build/contracts/templates/TemplateRegistry.js +3 -7
- package/build/contracts/templates/TemplateRegistry.js.map +1 -1
- package/build/contracts/templates/TemplateValidator.js +1 -5
- package/build/contracts/templates/TemplateValidator.js.map +1 -1
- package/build/contracts/types/ContractABI.js +1 -2
- package/build/contracts/types/ContractABI.js.map +1 -1
- package/build/contracts/types/TypedContract.js +1 -2
- package/build/contracts/types/TypedContract.js.map +1 -1
- package/build/d402/client/D402Client.js +4 -41
- package/build/d402/client/D402Client.js.map +1 -1
- package/build/d402/client/index.js +1 -5
- package/build/d402/client/index.js.map +1 -1
- package/build/d402/client/types.js +1 -2
- package/build/d402/client/types.js.map +1 -1
- package/build/d402/index.js +2 -20
- package/build/d402/index.js.map +1 -1
- package/build/d402/server/D402Server.js +1 -5
- package/build/d402/server/D402Server.js.map +1 -1
- package/build/d402/server/index.js +2 -7
- package/build/d402/server/index.js.map +1 -1
- package/build/d402/server/middleware.js +3 -6
- package/build/d402/server/middleware.js.map +1 -1
- package/build/d402/server/types.js +1 -2
- package/build/d402/server/types.js.map +1 -1
- package/build/demoswork/executor/index.js +1 -4
- package/build/demoswork/executor/index.js.map +1 -1
- package/build/demoswork/executor/stepexecutor.js +2 -6
- package/build/demoswork/executor/stepexecutor.js.map +1 -1
- package/build/demoswork/index.js +8 -25
- package/build/demoswork/index.js.map +1 -1
- package/build/demoswork/operations/baseoperation.js +2 -6
- package/build/demoswork/operations/baseoperation.js.map +1 -1
- package/build/demoswork/operations/conditional/condition.js +7 -11
- package/build/demoswork/operations/conditional/condition.js.map +1 -1
- package/build/demoswork/operations/conditional/index.js +9 -13
- package/build/demoswork/operations/conditional/index.js.map +1 -1
- package/build/demoswork/operations/index.js +5 -9
- package/build/demoswork/operations/index.js.map +1 -1
- package/build/demoswork/utils/createTestWorkScript.js +22 -28
- package/build/demoswork/utils/createTestWorkScript.js.map +1 -1
- package/build/demoswork/utils/index.js +3 -8
- package/build/demoswork/utils/index.js.map +1 -1
- package/build/demoswork/validator/index.js +3 -6
- package/build/demoswork/validator/index.js.map +1 -1
- package/build/demoswork/validator/steps.validator.js +3 -6
- package/build/demoswork/validator/steps.validator.js.map +1 -1
- package/build/demoswork/work.js +6 -11
- package/build/demoswork/work.js.map +1 -1
- package/build/demoswork/workstep.js +16 -26
- package/build/demoswork/workstep.js.map +1 -1
- package/build/encryption/Cryptography.js +36 -71
- package/build/encryption/Cryptography.js.map +1 -1
- package/build/encryption/FHE/index.js +3 -9
- package/build/encryption/FHE/index.js.map +1 -1
- package/build/encryption/Hashing.js +8 -15
- package/build/encryption/Hashing.js.map +1 -1
- package/build/encryption/PQC/enigma.js +22 -59
- package/build/encryption/PQC/enigma.js.map +1 -1
- package/build/encryption/PQC/falconts/falcon.js +3 -6
- package/build/encryption/PQC/falconts/falcon.js.map +1 -1
- package/build/encryption/PQC/falconts/index.js +3 -15
- package/build/encryption/PQC/falconts/index.js.map +1 -1
- package/build/encryption/PQC/falconts/mnemonic.js +9 -15
- package/build/encryption/PQC/falconts/mnemonic.js.map +1 -1
- package/build/encryption/PQC/falconts/wordlist.js +1 -4
- package/build/encryption/PQC/falconts/wordlist.js.map +1 -1
- package/build/encryption/PQC/utils.js +2 -7
- package/build/encryption/PQC/utils.js.map +1 -1
- package/build/encryption/index.js +7 -50
- package/build/encryption/index.js.map +1 -1
- package/build/encryption/unifiedCrypto.js +23 -63
- package/build/encryption/unifiedCrypto.js.map +1 -1
- package/build/encryption/zK/identity/CommitmentService.js +5 -10
- package/build/encryption/zK/identity/CommitmentService.js.map +1 -1
- package/build/encryption/zK/identity/ProofGenerator.js +3 -40
- package/build/encryption/zK/identity/ProofGenerator.js.map +1 -1
- package/build/encryption/zK/identity/ZKIdentity.js +3 -40
- package/build/encryption/zK/identity/ZKIdentity.js.map +1 -1
- package/build/encryption/zK/identity/index.js +3 -40
- package/build/encryption/zK/identity/index.js.map +1 -1
- package/build/encryption/zK/index.js +2 -38
- package/build/encryption/zK/index.js.map +1 -1
- package/build/encryption/zK/interactive/index.js +4 -12
- package/build/encryption/zK/interactive/index.js.map +1 -1
- package/build/encryption/zK/primer.js +7 -13
- package/build/encryption/zK/primer.js.map +1 -1
- package/build/escrow/EscrowQueries.js +1 -5
- package/build/escrow/EscrowQueries.js.map +1 -1
- package/build/escrow/EscrowTransaction.js +8 -45
- package/build/escrow/EscrowTransaction.js.map +1 -1
- package/build/escrow/index.js +2 -7
- package/build/escrow/index.js.map +1 -1
- package/build/index.js +18 -54
- package/build/index.js.map +1 -1
- package/build/instant_messaging/index.js +13 -17
- package/build/instant_messaging/index.js.map +1 -1
- package/build/ipfs/IPFSOperations.js +5 -9
- package/build/ipfs/IPFSOperations.js.map +1 -1
- package/build/ipfs/index.js +1 -6
- package/build/ipfs/index.js.map +1 -1
- package/build/keyserver/KeyServerClient.js +10 -14
- package/build/keyserver/KeyServerClient.js.map +1 -1
- package/build/keyserver/errors.js +1 -5
- package/build/keyserver/errors.js.map +1 -1
- package/build/keyserver/index.js +3 -10
- package/build/keyserver/index.js.map +1 -1
- package/build/keyserver/types.js +1 -2
- package/build/keyserver/types.js.map +1 -1
- package/build/keyserver/verification.js +4 -8
- package/build/keyserver/verification.js.map +1 -1
- package/build/l2ps/index.js +2 -8
- package/build/l2ps/index.js.map +1 -1
- package/build/l2ps/l2ps.js +6 -41
- package/build/l2ps/l2ps.js.map +1 -1
- package/build/multichain/core/aptos.js +40 -77
- package/build/multichain/core/aptos.js.map +1 -1
- package/build/multichain/core/btc.js +22 -62
- package/build/multichain/core/btc.js.map +1 -1
- package/build/multichain/core/evm.js +24 -61
- package/build/multichain/core/evm.js.map +1 -1
- package/build/multichain/core/ibc.js +34 -71
- package/build/multichain/core/ibc.js.map +1 -1
- package/build/multichain/core/index.js +12 -28
- package/build/multichain/core/index.js.map +1 -1
- package/build/multichain/core/multiversx.js +34 -41
- package/build/multichain/core/multiversx.js.map +1 -1
- package/build/multichain/core/near.js +44 -84
- package/build/multichain/core/near.js.map +1 -1
- package/build/multichain/core/solana.js +51 -91
- package/build/multichain/core/solana.js.map +1 -1
- package/build/multichain/core/ten.js +11 -48
- package/build/multichain/core/ten.js.map +1 -1
- package/build/multichain/core/ton.d.ts +1 -1
- package/build/multichain/core/ton.js +30 -37
- package/build/multichain/core/ton.js.map +1 -1
- package/build/multichain/core/tron.js +34 -41
- package/build/multichain/core/tron.js.map +1 -1
- package/build/multichain/core/types/SolanaPhantomProvider.js +1 -2
- package/build/multichain/core/types/SolanaPhantomProvider.js.map +1 -1
- package/build/multichain/core/types/defaultChain.js +1 -5
- package/build/multichain/core/types/defaultChain.js.map +1 -1
- package/build/multichain/core/types/interfaces.js +2 -5
- package/build/multichain/core/types/interfaces.js.map +1 -1
- package/build/multichain/core/utils.js +1 -4
- package/build/multichain/core/utils.js.map +1 -1
- package/build/multichain/core/xrp.js +17 -22
- package/build/multichain/core/xrp.js.map +1 -1
- package/build/multichain/index.js +3 -39
- package/build/multichain/index.js.map +1 -1
- package/build/multichain/localsdk/aptos.js +11 -15
- package/build/multichain/localsdk/aptos.js.map +1 -1
- package/build/multichain/localsdk/btc.js +10 -50
- package/build/multichain/localsdk/btc.js.map +1 -1
- package/build/multichain/localsdk/evm.js +6 -10
- package/build/multichain/localsdk/evm.js.map +1 -1
- package/build/multichain/localsdk/ibc.js +5 -9
- package/build/multichain/localsdk/ibc.js.map +1 -1
- package/build/multichain/localsdk/index.js +10 -23
- package/build/multichain/localsdk/index.js.map +1 -1
- package/build/multichain/localsdk/multiversx.js +12 -16
- package/build/multichain/localsdk/multiversx.js.map +1 -1
- package/build/multichain/localsdk/near.js +9 -13
- package/build/multichain/localsdk/near.js.map +1 -1
- package/build/multichain/localsdk/solana.js +5 -9
- package/build/multichain/localsdk/solana.js.map +1 -1
- package/build/multichain/localsdk/ten.js +8 -45
- package/build/multichain/localsdk/ten.js.map +1 -1
- package/build/multichain/localsdk/ton.js +9 -13
- package/build/multichain/localsdk/ton.js.map +1 -1
- package/build/multichain/localsdk/tron.js +2 -6
- package/build/multichain/localsdk/tron.js.map +1 -1
- package/build/multichain/localsdk/xrp.js +6 -43
- package/build/multichain/localsdk/xrp.js.map +1 -1
- package/build/multichain/websdk/aptos.js +1 -5
- package/build/multichain/websdk/aptos.js.map +1 -1
- package/build/multichain/websdk/btc.js +2 -6
- package/build/multichain/websdk/btc.js.map +1 -1
- package/build/multichain/websdk/evm.js +2 -6
- package/build/multichain/websdk/evm.js.map +1 -1
- package/build/multichain/websdk/ibc.js +2 -6
- package/build/multichain/websdk/ibc.js.map +1 -1
- package/build/multichain/websdk/index.js +9 -21
- package/build/multichain/websdk/index.js.map +1 -1
- package/build/multichain/websdk/multiversx.js +9 -13
- package/build/multichain/websdk/multiversx.js.map +1 -1
- package/build/multichain/websdk/near.js +2 -6
- package/build/multichain/websdk/near.js.map +1 -1
- package/build/multichain/websdk/solana.js +10 -18
- package/build/multichain/websdk/solana.js.map +1 -1
- package/build/multichain/websdk/ton.js +2 -6
- package/build/multichain/websdk/ton.js.map +1 -1
- package/build/multichain/websdk/xrp.js +2 -6
- package/build/multichain/websdk/xrp.js.map +1 -1
- package/build/storage/StorageProgram.js +11 -18
- package/build/storage/StorageProgram.js.map +1 -1
- package/build/storage/index.js +2 -10
- package/build/storage/index.js.map +1 -1
- package/build/tlsnotary/TLSNotary.js +11 -52
- package/build/tlsnotary/TLSNotary.js.map +1 -1
- package/build/tlsnotary/TLSNotaryService.js +21 -25
- package/build/tlsnotary/TLSNotaryService.js.map +1 -1
- package/build/tlsnotary/auto-init.js +11 -17
- package/build/tlsnotary/auto-init.js.map +1 -1
- package/build/tlsnotary/helpers.js +1 -4
- package/build/tlsnotary/helpers.js.map +1 -1
- package/build/tlsnotary/index.js +8 -25
- package/build/tlsnotary/index.js.map +1 -1
- package/build/tlsnotary/service.js +2 -7
- package/build/tlsnotary/service.js.map +1 -1
- package/build/tlsnotary/types.js +1 -2
- package/build/tlsnotary/types.js.map +1 -1
- package/build/tlsnotary/webpack.js +10 -52
- package/build/tlsnotary/webpack.js.map +1 -1
- package/build/tlsnotary/worker.js +5 -40
- package/build/tlsnotary/worker.js.map +1 -1
- package/build/types/abstraction/index.d.ts +64 -1
- package/build/types/abstraction/index.js +1 -2
- package/build/types/abstraction/index.js.map +1 -1
- package/build/types/blockchain/Confirmation.js +1 -4
- package/build/types/blockchain/Confirmation.js.map +1 -1
- package/build/types/blockchain/CustomCharges.js +2 -6
- package/build/types/blockchain/CustomCharges.js.map +1 -1
- package/build/types/blockchain/GCREdit.d.ts +1 -1
- package/build/types/blockchain/GCREdit.js +1 -2
- package/build/types/blockchain/GCREdit.js.map +1 -1
- package/build/types/blockchain/ISignature.js +1 -2
- package/build/types/blockchain/Transaction.js +1 -17
- package/build/types/blockchain/Transaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/ContractCallTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/ContractDeployTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/CrosschainTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/D402PaymentTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/DemosworkTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/EscrowTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/IPFSTransaction.js +5 -12
- package/build/types/blockchain/TransactionSubtypes/IPFSTransaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/IdentityTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/InstantMessagingTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/L2PSHashTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/L2PSTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/NativeBridgeTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/NativeTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.js +4 -10
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/StorageTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/Web2Transaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/index.js +16 -32
- package/build/types/blockchain/TransactionSubtypes/index.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/utils.js +2 -6
- package/build/types/blockchain/TransactionSubtypes/utils.js.map +1 -1
- package/build/types/blockchain/TxFee.js +1 -2
- package/build/types/blockchain/ValidityData.js +1 -5
- package/build/types/blockchain/ValidityData.js.map +1 -1
- package/build/types/blockchain/WalletTypes.js +1 -2
- package/build/types/blockchain/address.js +1 -2
- package/build/types/blockchain/addressInfo.js +1 -2
- package/build/types/blockchain/blocks.js +1 -2
- package/build/types/blockchain/blocks.js.map +1 -1
- package/build/types/blockchain/encryptedTransaction.js +1 -2
- package/build/types/blockchain/genesisTypes.js +1 -2
- package/build/types/blockchain/genesisTypes.js.map +1 -1
- package/build/types/blockchain/identities.js +1 -2
- package/build/types/blockchain/identities.js.map +1 -1
- package/build/types/blockchain/rawTransaction.js +1 -2
- package/build/types/blockchain/rawTransaction.js.map +1 -1
- package/build/types/blockchain/statusNative.js +1 -2
- package/build/types/blockchain/statusProperties.js +1 -2
- package/build/types/bridge/bridgeTradePayload.js +1 -2
- package/build/types/bridge/constants.js +3 -6
- package/build/types/bridge/constants.js.map +1 -1
- package/build/types/communication/demosWork.js +1 -2
- package/build/types/communication/rpc.js +1 -4
- package/build/types/communication/rpc.js.map +1 -1
- package/build/types/communication/transmit.js +1 -2
- package/build/types/communication/transmit.js.map +1 -1
- package/build/types/cryptography.js +1 -2
- package/build/types/demoswork/datatypes.js +2 -5
- package/build/types/demoswork/datatypes.js.map +1 -1
- package/build/types/demoswork/index.js +1 -2
- package/build/types/demoswork/operations.js +1 -2
- package/build/types/demoswork/steps.js +4 -7
- package/build/types/demoswork/steps.js.map +1 -1
- package/build/types/gls/Operation.js +1 -2
- package/build/types/gls/StateChange.js +1 -2
- package/build/types/gls/StateChange.js.map +1 -1
- package/build/types/gls/account.js +1 -2
- package/build/types/index.js +10 -30
- package/build/types/index.js.map +1 -1
- package/build/types/instantMessaging/index.js +1 -2
- package/build/types/native/INativePayload.js +1 -2
- package/build/types/native/INativePayload.js.map +1 -1
- package/build/types/native/index.js +1 -17
- package/build/types/native/index.js.map +1 -1
- package/build/types/network/ExecutionResult.js +1 -2
- package/build/types/network/SecurityTypes.js +1 -2
- package/build/types/peers/Peer.js +1 -2
- package/build/types/peers/Peer.js.map +1 -1
- package/build/types/web2/discord.js +1 -2
- package/build/types/web2/index.js +2 -5
- package/build/types/web2/index.js.map +1 -1
- package/build/types/web2/telegram.js +1 -2
- package/build/types/web2/telegram.js.map +1 -1
- package/build/types/web2/twitter.js +1 -2
- package/build/types/xm/apiTools.js +1 -2
- package/build/types/xm/index.js +1 -2
- package/build/utils/dataManipulation.js +5 -12
- package/build/utils/dataManipulation.js.map +1 -1
- package/build/utils/getRemoteIP.js +3 -9
- package/build/utils/getRemoteIP.js.map +1 -1
- package/build/utils/index.js +4 -44
- package/build/utils/index.js.map +1 -1
- package/build/utils/pprint.js +3 -9
- package/build/utils/pprint.js.map +1 -1
- package/build/utils/uint8Serialize.js +2 -6
- package/build/utils/uint8Serialize.js.map +1 -1
- package/build/wallet/Wallet.js +11 -46
- package/build/wallet/Wallet.js.map +1 -1
- package/build/wallet/index.js +1 -37
- package/build/wallet/index.js.map +1 -1
- package/build/wallet/passkeys/passkeys.js +9 -16
- package/build/wallet/passkeys/passkeys.js.map +1 -1
- package/build/websdk/DemosContracts.d.ts +1 -1
- package/build/websdk/DemosContracts.js +9 -13
- package/build/websdk/DemosContracts.js.map +1 -1
- package/build/websdk/DemosTransactions.js +33 -69
- package/build/websdk/DemosTransactions.js.map +1 -1
- package/build/websdk/DemosWebAuth.js +17 -24
- package/build/websdk/DemosWebAuth.js.map +1 -1
- package/build/websdk/GCRGeneration.js +31 -19
- package/build/websdk/GCRGeneration.js.map +1 -1
- package/build/websdk/Web2Calls.js +14 -18
- package/build/websdk/Web2Calls.js.map +1 -1
- package/build/websdk/XMTransactions.js +8 -13
- package/build/websdk/XMTransactions.js.map +1 -1
- package/build/websdk/bridge.js +1 -5
- package/build/websdk/bridge.js.map +1 -1
- package/build/websdk/demos.js +2 -5
- package/build/websdk/demos.js.map +1 -1
- package/build/websdk/demosclass.js +55 -95
- package/build/websdk/demosclass.js.map +1 -1
- package/build/websdk/examples/tryWeb2.js +4 -6
- package/build/websdk/examples/tryWeb2.js.map +1 -1
- package/build/websdk/index.js +14 -69
- package/build/websdk/index.js.map +1 -1
- package/build/websdk/rsa.js +17 -24
- package/build/websdk/rsa.js.map +1 -1
- package/build/websdk/types/IBuffer.js +1 -2
- package/build/websdk/types/KeyPair.js +1 -2
- package/build/websdk/utils/bufferizer.js +1 -4
- package/build/websdk/utils/bufferizer.js.map +1 -1
- package/build/websdk/utils/canonicalJson.js +3 -8
- package/build/websdk/utils/canonicalJson.js.map +1 -1
- package/build/websdk/utils/forge_converter.js +4 -7
- package/build/websdk/utils/forge_converter.js.map +1 -1
- package/build/websdk/utils/required.js +2 -6
- package/build/websdk/utils/required.js.map +1 -1
- package/build/websdk/utils/sha256.js +1 -4
- package/build/websdk/utils/sha256.js.map +1 -1
- package/build/websdk/utils/skeletons.js +3 -8
- package/build/websdk/utils/skeletons.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,61 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.SOLANA = void 0;
|
|
40
|
-
const anchor_1 = require("@project-serum/anchor");
|
|
41
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
1
|
+
import { AnchorProvider, Program, } from "@project-serum/anchor";
|
|
2
|
+
import { Connection, Keypair, LAMPORTS_PER_SOL, PublicKey, SystemProgram, Transaction, TransactionInstruction, TransactionMessage, VersionedTransaction, } from "@solana/web3.js";
|
|
42
3
|
// nacl is needed for signing and verifying messages
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
class SOLANA extends
|
|
4
|
+
import nacl from "tweetnacl";
|
|
5
|
+
import { decodeBase64, decodeUTF8, encodeBase64 } from "tweetnacl-util";
|
|
6
|
+
import base58 from "bs58";
|
|
7
|
+
import * as bip39 from "bip39";
|
|
8
|
+
import { HDKey } from "micro-ed25519-hdkey";
|
|
9
|
+
import { ns64, struct, u32 } from "@solana/buffer-layout";
|
|
10
|
+
import { DefaultChain } from "./types/defaultChain.js";
|
|
11
|
+
import { required } from "./utils.js";
|
|
12
|
+
export class SOLANA extends DefaultChain {
|
|
52
13
|
constructor(rpc_url) {
|
|
53
14
|
super(rpc_url);
|
|
54
15
|
this.name = "solana";
|
|
55
16
|
}
|
|
56
17
|
setRpc(rpc_url) {
|
|
57
18
|
this.rpc_url = rpc_url;
|
|
58
|
-
this.provider = new
|
|
19
|
+
this.provider = new Connection(this.rpc_url, {
|
|
59
20
|
confirmTransactionInitialTimeout: 15000,
|
|
60
21
|
});
|
|
61
22
|
}
|
|
@@ -74,10 +35,10 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
74
35
|
// return true
|
|
75
36
|
// }
|
|
76
37
|
async createWallet() {
|
|
77
|
-
const keypair =
|
|
38
|
+
const keypair = Keypair.generate();
|
|
78
39
|
return {
|
|
79
40
|
address: keypair.publicKey.toBase58(),
|
|
80
|
-
secretKey:
|
|
41
|
+
secretKey: base58.encode(keypair.secretKey),
|
|
81
42
|
keypair: keypair,
|
|
82
43
|
};
|
|
83
44
|
}
|
|
@@ -91,48 +52,48 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
91
52
|
// INFO: Convert mnemonic to seed using BIP39
|
|
92
53
|
const seed = bip39.mnemonicToSeedSync(privateKey, "");
|
|
93
54
|
// INFO: Create HD key from master seed
|
|
94
|
-
const hd =
|
|
55
|
+
const hd = HDKey.fromMasterSeed(seed.toString("hex"));
|
|
95
56
|
// INFO: Derive keypair using Solana BIP44 path: m/44'/501'/{accountIndex}'/0'
|
|
96
57
|
const path = `m/44'/501'/${accountIndex}'/0'`;
|
|
97
|
-
this.wallet =
|
|
58
|
+
this.wallet = Keypair.fromSeed(hd.derive(path).privateKey);
|
|
98
59
|
return this.wallet;
|
|
99
60
|
}
|
|
100
61
|
// INFO: Treat as base58 encoded private key
|
|
101
|
-
const pkBuffer =
|
|
102
|
-
this.wallet =
|
|
62
|
+
const pkBuffer = base58.decode(privateKey);
|
|
63
|
+
this.wallet = Keypair.fromSecretKey(pkBuffer);
|
|
103
64
|
return this.wallet;
|
|
104
65
|
}
|
|
105
66
|
async getBalance(address) {
|
|
106
|
-
const publicKey = new
|
|
67
|
+
const publicKey = new PublicKey(address);
|
|
107
68
|
const balance = await this.provider.getBalance(publicKey);
|
|
108
69
|
return balance.toString();
|
|
109
70
|
}
|
|
110
71
|
// Signing messages using tweetnacl and a keypair
|
|
111
72
|
async signMessage(message, options) {
|
|
112
|
-
|
|
73
|
+
required(this.wallet || options?.privateKey, "Wallet not connected");
|
|
113
74
|
// Encoding the message
|
|
114
|
-
const messageBytes =
|
|
75
|
+
const messageBytes = decodeUTF8(message);
|
|
115
76
|
let signers = [this.wallet];
|
|
116
77
|
if (options?.privateKey) {
|
|
117
|
-
const privateKeyBuffer =
|
|
118
|
-
const keypair =
|
|
78
|
+
const privateKeyBuffer = base58.decode(options.privateKey);
|
|
79
|
+
const keypair = Keypair.fromSecretKey(privateKeyBuffer);
|
|
119
80
|
signers = [keypair];
|
|
120
81
|
}
|
|
121
82
|
// Signing the message
|
|
122
|
-
const signedBytes =
|
|
123
|
-
return
|
|
83
|
+
const signedBytes = nacl.sign.detached(messageBytes, signers[0].secretKey);
|
|
84
|
+
return encodeBase64(signedBytes);
|
|
124
85
|
}
|
|
125
86
|
// Verifying messages using tweetnacl and a keypair
|
|
126
87
|
async verifyMessage(message, signature, publicKey) {
|
|
127
88
|
// converting base58 to bytes
|
|
128
|
-
const messageBytes =
|
|
129
|
-
const publicKeyBytes =
|
|
130
|
-
const signatureBytes =
|
|
89
|
+
const messageBytes = decodeUTF8(message);
|
|
90
|
+
const publicKeyBytes = base58.decode(publicKey);
|
|
91
|
+
const signatureBytes = decodeBase64(signature);
|
|
131
92
|
// verifying the message
|
|
132
|
-
return
|
|
93
|
+
return nacl.sign.detached.verify(messageBytes, signatureBytes, publicKeyBytes);
|
|
133
94
|
}
|
|
134
95
|
async signTransaction(tx, options) {
|
|
135
|
-
|
|
96
|
+
required(this.wallet, "Wallet not connected");
|
|
136
97
|
// LINK https://docs.shyft.to/tutorials/how-to-sign-transactions-on-solana
|
|
137
98
|
// NOTE Due to the above, the transaction is signed and sent at the same time.
|
|
138
99
|
// tx.addSignature()
|
|
@@ -140,11 +101,11 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
140
101
|
return txs[0];
|
|
141
102
|
}
|
|
142
103
|
async signTransactions(transactions, options) {
|
|
143
|
-
|
|
104
|
+
required(this.wallet || (options && options.privateKey), "Wallet not connected");
|
|
144
105
|
let signers = [this.wallet];
|
|
145
106
|
if (options && options.privateKey) {
|
|
146
|
-
const privateKeyBuffer =
|
|
147
|
-
const keypair =
|
|
107
|
+
const privateKeyBuffer = base58.decode(options.privateKey);
|
|
108
|
+
const keypair = Keypair.fromSecretKey(privateKeyBuffer);
|
|
148
109
|
signers = [keypair];
|
|
149
110
|
}
|
|
150
111
|
return transactions.map(tx => {
|
|
@@ -153,16 +114,16 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
153
114
|
});
|
|
154
115
|
}
|
|
155
116
|
getAddress() {
|
|
156
|
-
|
|
117
|
+
required(this.wallet, "Wallet not connected");
|
|
157
118
|
return this.wallet.publicKey.toBase58();
|
|
158
119
|
}
|
|
159
120
|
getEmptyTransaction() {
|
|
160
|
-
const vmsg = new
|
|
121
|
+
const vmsg = new TransactionMessage({
|
|
161
122
|
payerKey: this.wallet.publicKey,
|
|
162
123
|
recentBlockhash: "",
|
|
163
124
|
instructions: [],
|
|
164
125
|
}).compileToV0Message();
|
|
165
|
-
return new
|
|
126
|
+
return new VersionedTransaction(vmsg);
|
|
166
127
|
}
|
|
167
128
|
async preparePay(receiver, amount, options) {
|
|
168
129
|
const tx = await this.preparePays([{ address: receiver, amount }], options);
|
|
@@ -172,19 +133,19 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
172
133
|
const blockInfo = await this.provider.getLatestBlockhash();
|
|
173
134
|
const transactions = payments.map(payment => {
|
|
174
135
|
// create a transfer instruction
|
|
175
|
-
const transferIx =
|
|
136
|
+
const transferIx = SystemProgram.transfer({
|
|
176
137
|
fromPubkey: this.wallet.publicKey,
|
|
177
|
-
toPubkey: new
|
|
178
|
-
lamports: parseFloat(payment.amount) *
|
|
138
|
+
toPubkey: new PublicKey(payment.address),
|
|
139
|
+
lamports: parseFloat(payment.amount) * LAMPORTS_PER_SOL,
|
|
179
140
|
});
|
|
180
141
|
// compile the instruction into a message
|
|
181
|
-
const vmsg = new
|
|
142
|
+
const vmsg = new TransactionMessage({
|
|
182
143
|
instructions: [transferIx],
|
|
183
144
|
payerKey: this.wallet.publicKey,
|
|
184
145
|
recentBlockhash: blockInfo.blockhash,
|
|
185
146
|
}).compileToV0Message();
|
|
186
147
|
// create a versioned transaction
|
|
187
|
-
return new
|
|
148
|
+
return new VersionedTransaction(vmsg);
|
|
188
149
|
});
|
|
189
150
|
// sign the transactions
|
|
190
151
|
return this.signTransactions(transactions, options);
|
|
@@ -195,21 +156,21 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
195
156
|
connection: this.provider,
|
|
196
157
|
};
|
|
197
158
|
// @ts-ignore
|
|
198
|
-
return await
|
|
159
|
+
return await Program.fetchIdl(programId, provider);
|
|
199
160
|
}
|
|
200
161
|
async fetchAccount(address, options) {
|
|
201
162
|
let programId = options.programId;
|
|
202
163
|
let idl = options.idl;
|
|
203
164
|
if (!programId) {
|
|
204
165
|
// INFO: Fetch the program ID from the account
|
|
205
|
-
const accInfo = await this.provider.getAccountInfo(new
|
|
166
|
+
const accInfo = await this.provider.getAccountInfo(new PublicKey(address));
|
|
206
167
|
programId = accInfo.owner;
|
|
207
168
|
}
|
|
208
169
|
if (!idl) {
|
|
209
170
|
// INFO: Fetch the IDL from the network
|
|
210
171
|
idl = await this.getProgramIdl(options.programId);
|
|
211
172
|
}
|
|
212
|
-
const program = new
|
|
173
|
+
const program = new Program(idl, programId, {
|
|
213
174
|
// @ts-ignore
|
|
214
175
|
connection: this.provider,
|
|
215
176
|
});
|
|
@@ -217,9 +178,9 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
217
178
|
}
|
|
218
179
|
async runAnchorProgram(programId, params) {
|
|
219
180
|
// REVIEW: Do we need to connect our wallet with the anchor provider?
|
|
220
|
-
const pid = new
|
|
181
|
+
const pid = new PublicKey(programId);
|
|
221
182
|
// @ts-ignore
|
|
222
|
-
const anchorProvider = new
|
|
183
|
+
const anchorProvider = new AnchorProvider(this.provider, null, {});
|
|
223
184
|
let idl = params.idl;
|
|
224
185
|
if (!idl) {
|
|
225
186
|
// INFO: If not using manual IDL, fetch it from the network
|
|
@@ -230,7 +191,7 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
230
191
|
throw new Error("No IDL found for this program");
|
|
231
192
|
}
|
|
232
193
|
// INFO: Get the IDL and create program interface
|
|
233
|
-
const program = new
|
|
194
|
+
const program = new Program(idl, pid, anchorProvider);
|
|
234
195
|
// INFO: construct the transaction
|
|
235
196
|
const ix = program.methods[params.instruction];
|
|
236
197
|
// calling the method with undefined throws an error, so prevent it
|
|
@@ -247,14 +208,14 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
247
208
|
}
|
|
248
209
|
async runRawProgram(programId, params) {
|
|
249
210
|
// INFO: Set fee payer
|
|
250
|
-
const tx = new
|
|
211
|
+
const tx = new Transaction({
|
|
251
212
|
feePayer: params.feePayer,
|
|
252
213
|
});
|
|
253
214
|
// INFO: Locate the instruction
|
|
254
215
|
const ix = {
|
|
255
216
|
index: params.instructionIndex,
|
|
256
217
|
// @ts-expect-error
|
|
257
|
-
layout:
|
|
218
|
+
layout: struct([u32("instruction"), ns64(params.instructionName)]),
|
|
258
219
|
};
|
|
259
220
|
// INFO: Encode the instruction and its parameters
|
|
260
221
|
// Create an empty buffer
|
|
@@ -265,9 +226,9 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
265
226
|
// Write the data to the buffer
|
|
266
227
|
ix.layout.encode(layoutFields, data);
|
|
267
228
|
// INFO: Add the instruction to the transaction
|
|
268
|
-
tx.add(new
|
|
229
|
+
tx.add(new TransactionInstruction({
|
|
269
230
|
keys: params.keys,
|
|
270
|
-
programId: new
|
|
231
|
+
programId: new PublicKey(programId),
|
|
271
232
|
data: data,
|
|
272
233
|
}));
|
|
273
234
|
// INFO: Add validity information
|
|
@@ -292,5 +253,4 @@ class SOLANA extends defaultChain_1.DefaultChain {
|
|
|
292
253
|
return SOLANA.instance;
|
|
293
254
|
}
|
|
294
255
|
}
|
|
295
|
-
exports.SOLANA = SOLANA;
|
|
296
256
|
//# sourceMappingURL=solana.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../src/multichain/core/solana.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../src/multichain/core/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EAEd,OAAO,GAEV,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,iBAAiB,CAAA;AAExB,oDAAoD;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEvE,OAAO,MAAM,MAAM,MAAM,CAAA;AACzB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAsB,MAAM,sBAAsB,CAAA;AAOvE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAwBlC,MAAM,OAAO,MAAO,SAAQ,YAAY;IAMpC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;IACxB,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;YACzC,gCAAgC,EAAE,KAAK;SAC1C,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;YAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED,uBAAuB;IACvB,2BAA2B;IAC3B,kBAAkB;IAClB,IAAI;IAEJ,KAAK,CAAC,YAAY;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;QAElC,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,OAAO;SACnB,CAAA;IACL,CAAC;IACD,wBAAwB;IACxB,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,eAAuB,CAAC;QAC5D,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;QAE9B,kEAAkE;QAClE,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3C,+BAA+B;QAC/B,IAAI,UAAU,EAAE,CAAC;YACb,6CAA6C;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YACrD,uCAAuC;YACvC,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YACrD,8EAA8E;YAC9E,MAAM,IAAI,GAAG,cAAc,YAAY,MAAM,CAAA;YAC7C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAC,MAAM,CAAA;QACtB,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC5B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACzD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC7B,CAAC;IAED,iDAAiD;IACxC,KAAK,CAAC,WAAW,CACtB,OAAe,EACf,OAAiC;QAEjC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;QACpE,uBAAuB;QACvB,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YACvD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;QACD,sBAAsB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAClC,YAAY,EACZ,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACvB,CAAA;QACD,OAAO,YAAY,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mDAAmD;IAC1C,KAAK,CAAC,aAAa,CACxB,OAAe,EACf,SAAiB,EACjB,SAAiB;QAEjB,6BAA6B;QAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAE9C,wBAAwB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC5B,YAAY,EACZ,cAAc,EACd,cAAc,CACjB,CAAA;IACL,CAAC;IAEQ,KAAK,CAAC,eAAe,CAC1B,EAAwB,EACxB,OAAuB;QAEvB,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;QAC7C,0EAA0E;QAC1E,8EAA8E;QAC9E,oBAAoB;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QACtD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,YAAoC,EACpC,OAAuB;QAEvB,QAAQ,CACJ,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAC9C,sBAAsB,CACzB,CAAA;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3B,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YACvD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;QAED,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACzB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChB,OAAO,EAAE,CAAC,SAAS,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,UAAU;QACN,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;IAED,mBAAmB;QACf,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC/B,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,EAAE;SACnB,CAAC,CAAC,kBAAkB,EAAE,CAAA;QAEvB,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,QAAgB,EAChB,MAAc,EACd,OAAuB;QAEvB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAC7B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAC/B,OAAO,CACV,CAAA;QACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAsB,EAAE,OAAuB;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QAE1D,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxC,gCAAgC;YAChC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;gBACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBACjC,QAAQ,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxC,QAAQ,EACJ,UAAU,CAAC,OAAO,CAAC,MAAgB,CAAC,GAAG,gBAAgB;aAC9D,CAAC,CAAA;YAEF,yCAAyC;YACzC,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC;gBAChC,YAAY,EAAE,CAAC,UAAU,CAAC;gBAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC/B,eAAe,EAAE,SAAS,CAAC,SAAS;aACvC,CAAC,CAAC,kBAAkB,EAAE,CAAA;YAEvB,iCAAiC;YACjC,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,wBAAwB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,aAAa,CAAC,SAAkB;QAClC,MAAM,QAAQ,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC5B,CAAA;QAED,aAAa;QACb,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CACd,OAAgB,EAChB,OAAqC;QAErC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACjC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAU,CAAA;QAE5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,8CAA8C;YAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC9C,IAAI,SAAS,CAAC,OAAO,CAAC,CACzB,CAAA;YAED,SAAS,GAAG,OAAO,CAAC,KAAK,CAAA;QAC7B,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,uCAAuC;YACvC,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE;YACxC,aAAa;YACb,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC5B,CAAC,CAAA;QAEF,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,MAA8B;QACpE,qEAAqE;QACrE,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;QACpC,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAElE,IAAI,GAAG,GAAG,MAAM,CAAC,GAAU,CAAA;QAE3B,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,2DAA2D;YAC3D,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,2CAA2C;YAC3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QACpD,CAAC;QAED,iDAAiD;QACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAA;QAErD,kCAAkC;QAClC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC9C,mEAAmE;QACnE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAChD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;QAE5D,wCAAwC;QACxC,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QACtD,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAA;QACpC,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAEpD,+BAA+B;QAC/B,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAO,EAAE,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAkB,EAAE,MAAiC;QACrE,sBAAsB;QACtB,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,EAAE,GAAG;YACP,KAAK,EAAE,MAAM,CAAC,gBAAgB;YAC9B,mBAAmB;YACnB,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;SACrE,CAAA;QAED,kDAAkD;QAClD,yBAAyB;QACzB,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAC5B;YACI,WAAW,EAAE,EAAE,CAAC,KAAK;SACxB,EACD,MAAM,CAAC,MAAM,CAChB,CAAA;QACD,+BAA+B;QAC/B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAEpC,+CAA+C;QAC/C,EAAE,CAAC,GAAG,CACF,IAAI,sBAAsB,CAAC;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC;YACnC,IAAI,EAAE,IAAI;SACb,CAAC,CACL,CAAA;QAED,iCAAiC;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QACtD,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAA;QACpC,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAEpD,wCAAwC;QACxC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAO,EAAE,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAED,6BAA6B;IAE7B,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,OAAe;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;CACJ"}
|
|
@@ -1,44 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.TEN = void 0;
|
|
37
|
-
const web3 = __importStar(require("web3"));
|
|
38
|
-
const defaultChain_1 = require("./types/defaultChain");
|
|
39
|
-
const utils_1 = require("./utils");
|
|
40
|
-
const web3_utils_1 = require("web3-utils");
|
|
41
|
-
class TEN extends defaultChain_1.DefaultChain {
|
|
1
|
+
import * as web3 from "web3";
|
|
2
|
+
import { DefaultChain } from "./types/defaultChain.js";
|
|
3
|
+
import { required } from "./utils.js";
|
|
4
|
+
import { toNumber, toWei } from "web3-utils";
|
|
5
|
+
export class TEN extends DefaultChain {
|
|
42
6
|
constructor(rpc_url) {
|
|
43
7
|
super(rpc_url);
|
|
44
8
|
}
|
|
@@ -63,11 +27,11 @@ class TEN extends defaultChain_1.DefaultChain {
|
|
|
63
27
|
return this.signer;
|
|
64
28
|
}
|
|
65
29
|
getAddress() {
|
|
66
|
-
|
|
30
|
+
required(this.signer, "Wallet not connected");
|
|
67
31
|
return this.signer.address;
|
|
68
32
|
}
|
|
69
33
|
async signMessage(message, options) {
|
|
70
|
-
|
|
34
|
+
required(this.signer || options?.privateKey, "Wallet not connected");
|
|
71
35
|
// TODO Implement the signMessage method
|
|
72
36
|
return "Not implemented";
|
|
73
37
|
}
|
|
@@ -77,7 +41,7 @@ class TEN extends defaultChain_1.DefaultChain {
|
|
|
77
41
|
}
|
|
78
42
|
// SECTION: Transactions
|
|
79
43
|
async signTransactions(txs, options) {
|
|
80
|
-
|
|
44
|
+
required(this.signer || options?.privateKey, "Wallet not connected");
|
|
81
45
|
let signer = this.signer;
|
|
82
46
|
if (options?.privateKey) {
|
|
83
47
|
signer = web3.eth.accounts.privateKeyToAccount(options.privateKey);
|
|
@@ -87,7 +51,7 @@ class TEN extends defaultChain_1.DefaultChain {
|
|
|
87
51
|
console.log("ledger nonce: ", nonce);
|
|
88
52
|
//INFO: Max safe integer: 9007199254740991
|
|
89
53
|
// @ts-ignore
|
|
90
|
-
let currentNonce =
|
|
54
|
+
let currentNonce = toNumber(nonce);
|
|
91
55
|
return Promise.all(txs.map(async (txData) => {
|
|
92
56
|
txData.nonce = currentNonce;
|
|
93
57
|
// INFO: Increment the nonce for the next transaction
|
|
@@ -120,7 +84,7 @@ class TEN extends defaultChain_1.DefaultChain {
|
|
|
120
84
|
// from: this.getAddress(),
|
|
121
85
|
to: payment.address,
|
|
122
86
|
// @ts-ignore
|
|
123
|
-
value:
|
|
87
|
+
value: toNumber(toWei(payment.amount, "ether")),
|
|
124
88
|
};
|
|
125
89
|
});
|
|
126
90
|
return await this.signTransactions(txs);
|
|
@@ -132,11 +96,10 @@ class TEN extends defaultChain_1.DefaultChain {
|
|
|
132
96
|
async getBalance(address) {
|
|
133
97
|
const balance = await this.provider.getBalance(address);
|
|
134
98
|
// @ts-ignore
|
|
135
|
-
return
|
|
99
|
+
return toNumber(balance).toString();
|
|
136
100
|
}
|
|
137
101
|
getEmptyTransaction() {
|
|
138
102
|
return this.prepareBaseTransaction();
|
|
139
103
|
}
|
|
140
104
|
}
|
|
141
|
-
exports.TEN = TEN;
|
|
142
105
|
//# sourceMappingURL=ten.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ten.js","sourceRoot":"","sources":["../../../../src/multichain/core/ten.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ten.js","sourceRoot":"","sources":["../../../../src/multichain/core/ten.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export declare class TON extends DefaultChain {
|
|
|
38
38
|
* @returns The cell as a sendable file
|
|
39
39
|
*/
|
|
40
40
|
cellsToSendableFile(cells: Cell[]): Promise<Buffer<ArrayBufferLike>[]>;
|
|
41
|
-
getEmptyTransaction(): Promise<import("@ton/
|
|
41
|
+
getEmptyTransaction(): Promise<import("@ton/core").Builder>;
|
|
42
42
|
/**
|
|
43
43
|
* Estimate the transaction fee for a transfer
|
|
44
44
|
* @param receiver The recipient address
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const ton_1 = require("@ton/ton");
|
|
8
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
-
const crypto_1 = require("@ton/crypto");
|
|
10
|
-
const _1 = require(".");
|
|
11
|
-
const defaultChain_1 = require("./types/defaultChain");
|
|
12
|
-
class TON extends defaultChain_1.DefaultChain {
|
|
1
|
+
import { Address, SendMode, TonClient, WalletContractV5R1, beginCell, external, internal, storeMessage, toNano, } from "@ton/ton";
|
|
2
|
+
import BigNumber from "bignumber.js";
|
|
3
|
+
import { mnemonicToPrivateKey, mnemonicValidate, sign, signVerify } from "@ton/crypto";
|
|
4
|
+
import { required } from ".";
|
|
5
|
+
import { DefaultChain } from "./types/defaultChain.js";
|
|
6
|
+
export class TON extends DefaultChain {
|
|
13
7
|
constructor(rpc_url) {
|
|
14
8
|
super(rpc_url);
|
|
15
9
|
this.name = "ton";
|
|
16
10
|
}
|
|
17
11
|
setRpc(rpc_url) {
|
|
18
12
|
this.rpc_url = rpc_url;
|
|
19
|
-
this.provider = new
|
|
13
|
+
this.provider = new TonClient({
|
|
20
14
|
endpoint: this.rpc_url,
|
|
21
15
|
});
|
|
22
16
|
}
|
|
@@ -36,13 +30,13 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
36
30
|
if (mnemonicArray.length !== 24) {
|
|
37
31
|
throw new Error(`Invalid mnemonic: expected 24 words, got ${mnemonicArray.length}`);
|
|
38
32
|
}
|
|
39
|
-
const isValid = await
|
|
33
|
+
const isValid = await mnemonicValidate(mnemonicArray);
|
|
40
34
|
if (!isValid) {
|
|
41
35
|
throw new Error("Invalid TON mnemonic: validation failed");
|
|
42
36
|
}
|
|
43
37
|
try {
|
|
44
|
-
this.signer = await
|
|
45
|
-
this.wallet =
|
|
38
|
+
this.signer = await mnemonicToPrivateKey(mnemonicArray);
|
|
39
|
+
this.wallet = WalletContractV5R1.create({
|
|
46
40
|
publicKey: this.signer.publicKey,
|
|
47
41
|
workchain: 0,
|
|
48
42
|
});
|
|
@@ -64,15 +58,15 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
64
58
|
return this.signer.publicKey.toString('hex');
|
|
65
59
|
}
|
|
66
60
|
async getBalance(address) {
|
|
67
|
-
const addr =
|
|
61
|
+
const addr = Address.parse(address);
|
|
68
62
|
const bal = await this.provider.getBalance(addr);
|
|
69
|
-
return new
|
|
63
|
+
return new BigNumber(bal).toString();
|
|
70
64
|
}
|
|
71
65
|
async signMessage(message, options) {
|
|
72
|
-
|
|
66
|
+
required(this.signer || options?.privateKey, "Wallet not connected");
|
|
73
67
|
const messageBuffer = Buffer.from(message, 'utf-8');
|
|
74
68
|
const secretKey = this.signer.secretKey;
|
|
75
|
-
const signatureBuffer =
|
|
69
|
+
const signatureBuffer = sign(messageBuffer, secretKey);
|
|
76
70
|
const signedMessage = signatureBuffer.toString('base64');
|
|
77
71
|
return signedMessage;
|
|
78
72
|
}
|
|
@@ -80,7 +74,7 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
80
74
|
const messageBuffer = Buffer.from(message, 'utf-8');
|
|
81
75
|
const signatureBuffer = Buffer.from(signature, 'base64');
|
|
82
76
|
const publicKeyBuffer = Buffer.from(publicKey, 'hex');
|
|
83
|
-
const isVerified =
|
|
77
|
+
const isVerified = signVerify(messageBuffer, signatureBuffer, publicKeyBuffer);
|
|
84
78
|
return isVerified;
|
|
85
79
|
}
|
|
86
80
|
// SECTION: Transactions
|
|
@@ -92,8 +86,8 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
92
86
|
// TODO: Test this method
|
|
93
87
|
// NOTE: preparePay signs the tx so this method is not used
|
|
94
88
|
return txs.map(tx => {
|
|
95
|
-
const signature =
|
|
96
|
-
return
|
|
89
|
+
const signature = sign(txs[0].hash(), this.signer.secretKey);
|
|
90
|
+
return beginCell()
|
|
97
91
|
.storeBuffer(signature)
|
|
98
92
|
.storeBuilder(tx.asBuilder())
|
|
99
93
|
.endCell();
|
|
@@ -104,10 +98,10 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
104
98
|
return txs[0];
|
|
105
99
|
}
|
|
106
100
|
async preparePays(payments, options) {
|
|
107
|
-
|
|
101
|
+
required(this.signer || options?.privateKey, "Wallet not connected");
|
|
108
102
|
let signer = this.signer;
|
|
109
103
|
if (options?.privateKey) {
|
|
110
|
-
signer = await
|
|
104
|
+
signer = await mnemonicToPrivateKey(options.privateKey.split(" "));
|
|
111
105
|
}
|
|
112
106
|
const contract = this.provider.open(this.wallet);
|
|
113
107
|
let seqNo = await contract.getSeqno();
|
|
@@ -115,10 +109,10 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
115
109
|
const cell = contract.createTransfer({
|
|
116
110
|
seqno: seqNo,
|
|
117
111
|
secretKey: signer.secretKey,
|
|
118
|
-
sendMode:
|
|
112
|
+
sendMode: SendMode.PAY_GAS_SEPARATELY,
|
|
119
113
|
messages: [
|
|
120
|
-
|
|
121
|
-
value:
|
|
114
|
+
internal({
|
|
115
|
+
value: toNano(payment.amount),
|
|
122
116
|
to: payment.address,
|
|
123
117
|
bounce: true,
|
|
124
118
|
}),
|
|
@@ -139,26 +133,26 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
139
133
|
// NOTE: All this is done to retrieve the the final tx hash
|
|
140
134
|
const contract = this.provider.open(this.wallet);
|
|
141
135
|
let neededInit = null;
|
|
142
|
-
const address =
|
|
136
|
+
const address = Address.parse(this.getAddress());
|
|
143
137
|
const isContractDeployed = await this.provider.isContractDeployed(address);
|
|
144
138
|
if (contract.init && !isContractDeployed) {
|
|
145
139
|
neededInit = contract.init;
|
|
146
140
|
}
|
|
147
141
|
return cells.map(cell => {
|
|
148
142
|
// INFO: Create an external message
|
|
149
|
-
const ext =
|
|
143
|
+
const ext = external({
|
|
150
144
|
to: this.getAddress(),
|
|
151
145
|
init: neededInit,
|
|
152
146
|
body: cell,
|
|
153
147
|
});
|
|
154
148
|
// INFO: Create a new cell with the external message
|
|
155
|
-
let boc =
|
|
149
|
+
let boc = beginCell().store(storeMessage(ext)).endCell();
|
|
156
150
|
// INFO: Convert the cell to a buffer for network transmission
|
|
157
151
|
return boc.toBoc();
|
|
158
152
|
});
|
|
159
153
|
}
|
|
160
154
|
async getEmptyTransaction() {
|
|
161
|
-
return
|
|
155
|
+
return beginCell();
|
|
162
156
|
}
|
|
163
157
|
/**
|
|
164
158
|
* Estimate the transaction fee for a transfer
|
|
@@ -167,16 +161,16 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
167
161
|
* @returns Fee estimate in nanotons as bigint
|
|
168
162
|
*/
|
|
169
163
|
async estimateFee(receiver, amount) {
|
|
170
|
-
|
|
164
|
+
required(this.signer, "Wallet not connected");
|
|
171
165
|
const contract = this.provider.open(this.wallet);
|
|
172
166
|
const seqNo = await contract.getSeqno();
|
|
173
167
|
const transfer = contract.createTransfer({
|
|
174
168
|
seqno: seqNo,
|
|
175
169
|
secretKey: this.signer.secretKey,
|
|
176
|
-
sendMode:
|
|
170
|
+
sendMode: SendMode.PAY_GAS_SEPARATELY,
|
|
177
171
|
messages: [
|
|
178
|
-
|
|
179
|
-
value:
|
|
172
|
+
internal({
|
|
173
|
+
value: toNano(amount),
|
|
180
174
|
to: receiver,
|
|
181
175
|
bounce: true,
|
|
182
176
|
}),
|
|
@@ -192,5 +186,4 @@ class TON extends defaultChain_1.DefaultChain {
|
|
|
192
186
|
return (totalFee * 110n) / 100n;
|
|
193
187
|
}
|
|
194
188
|
}
|
|
195
|
-
exports.TON = TON;
|
|
196
189
|
//# sourceMappingURL=ton.js.map
|