nekoton/helpers/abi library

Functions

checkPublicKey({required PublicKey publicKey}) Future<bool>
Check if public key is correct. Return true or false
codeToTvc(String code) Future<(String, String)>
Convert code to base64 tvc string and return (tvc, hash) or throw error
computeStorageFee({required String config, required String account, required int utime, bool? isMasterchain}) Future<StorageFeeInfo>
config - value from Transport.getBlockchainConfig account - base64-encoded boc utime - seconds isMasterchain - default: false
createExternalMessage({required String dst, required String contractAbi, required String method, String? stateInit, required TokensObject input, required PublicKey publicKey, required Duration timeout}) Future<UnsignedMessage>
Create external unsigned message that can be listened and handled or throws error
createExternalMessageWithoutSignature({required Address dst, required String contractAbi, required String method, String? stateInit, required TokensObject input, required Duration timeout}) Future<SignedMessage>
Returns SignedMessage from nekoton or throws error
createRawExternalMessage({required Address dst, required Duration timeout, String? stateInit, String? body}) Future<SignedMessage>
Create raw external message without real signing or throws error
decodeEvent({required String messageBody, required String contractAbi, dynamic event}) Future<DecodedEvent?>
Decode input data and return DecodedEvent or throws error
decodeInput({required String messageBody, required String contractAbi, dynamic method, required bool internal}) Future<DecodedInput?>
Decode input data and return DecodedInput or throws error
decodeOutput({required String messageBody, required String contractAbi, dynamic method}) Future<DecodedOutput?>
Decode output data and return DecodedOutput or throws error
decodeTransaction({required Transaction transaction, required String contractAbi, dynamic method}) Future<DecodedTransaction?>
Decode transaction and return DecodedTransaction or throws error
decodeTransactionEvents({required Transaction transaction, required String contractAbi}) Future<List<DecodedEvent>>
Decode events of transaction and return list of DecodedEvent or throws error
encodeInternalInput({required String contractAbi, required String method, required TokensObject input}) Future<String>
Returns base64-encoded body that was encoded or throws error
encodeInternalMessage({required Address dst, required bool bounce, required BigInt amount, Address? src, String? stateInit, String? body, bool? bounced}) Future<String>
Returns base-64 encoded Message or throws error
executeLocal({required String config, required String account, required String message, required DateTime utime, required bool disableSignatureCheck, BigInt? overwriteBalance, int? globalId}) Future<(String, Transaction)>
Run contract locally. config - value from Transport.getBlockchainConfig account - boc from makeFullAccountBoc message - base64-encoded boc from one of:
extractPublicKey(String boc) Future<PublicKey>
Extract public key from boc and return it or throw error
getBocHash(String boc) Future<String>
Returns hash of decoded boc or throws error
getCodeSalt(String code) Future<String?>
Get salt from code if possible and return base64-encoded salt or throw error
getExpectedAddress({required String tvc, required String contractAbi, required int workchainId, PublicKey? publicKey, required TokensObject initData}) Future<(Address, String, String)>
Get address of tvc and contract_abi. Returns list of address, state_init, hash or throws error
makeFullAccountBoc(String? accountStuffBoc) Future<String>
Returns base-64 encoded Account or throws error accountStuffBoc - FullContractState.boc
mergeTvc({required String code, required String data}) Future<(String, String)>
Merge code and data to tvc base64 string and return (tvc, hash) or throw error
packIntoCell({required List<AbiParam> params, required TokensObject tokens, required String? abiVersion}) Future<(String, String)>
Return (base64 tvc, hash) or throws error
packStdSmcAddr({required Address address, required bool base64Url, required bool bounceable}) Future<String>
Pack address std smd or throw error Returns new packed address as string
parseFullAccountBoc(String account) Future<FullContractState?>
account - base64-encoded boc after executeLocal
parseKnownPayload(String payload) Future<KnownPayload?>
Parse payload and return KnownPayload or throws error
repackAddress(Address address) Future<Address>
Repack address and return json-encoded MsgAddressInt or throw error
runLocal({required String accountStuffBoc, required String contractAbi, required String method, required Map<String, dynamic> input, required bool responsible}) Future<ExecutionOutput>
Run contract local. Return json-encoded ExecutionOutput or throws error.
setCodeSalt({required String code, required String salt}) Future<(String, String)>
Set salt to code and return (tvc, hash) or throw error
splitTvc(String tvc) Future<(String?, String?)>
Split base64 tvc string into data and code. Return (data, code) or throw error
unpackContractFields({required String contractAbi, required String boc, required bool allowPartial}) Future<Map<String, dynamic>?>
Unpack contract fields. Returns optional json-encoded Map<String, Token> or throw error
unpackFromCell({required List<AbiParam> params, required String boc, required bool allowPartial, required String? abiVersion}) Future<TokensObject>
Parse list of params and return json-encoded Tokens or throws error
unpackInitData({required String contractAbi, required String data}) Future<(PublicKey?, Map<String, dynamic>)>
Unpack data from contractAbi. Returns optional public key and json-encoded Map<String, Token> or throws error.
unpackStdSmcAddr({required String packed, required bool base64Url}) Future<String>
validateAddress(Address address) Future<bool>
Return true if address is valid, false otherwise

Exceptions / Errors

ExecuteLocalException
None code-related exception that means that executeLocal finished with specified errorCode.