@aeternity/aepp-sdk 14.1.1 → 15.0.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/dist/aepp-sdk.browser-script.cjs +1 -1
- package/dist/aepp-sdk.browser-script.cjs.map +1 -1
- package/dist/aepp-sdk.browser.cjs +1 -1
- package/dist/aepp-sdk.browser.cjs.map +1 -1
- package/dist/aepp-sdk.cjs +3068 -502
- package/dist/aepp-sdk.cjs.map +1 -1
- package/es/account/Base.d.ts +6 -1
- package/es/account/Base.js.map +1 -1
- package/es/account/Generalized.d.ts +1 -1
- package/es/account/Generalized.js +7 -1
- package/es/account/Generalized.js.map +1 -1
- package/es/apis/node/models/index.d.ts +405 -79
- package/es/apis/node/models/index.js.map +1 -1
- package/es/apis/node/models/mappers.d.ts +54 -4
- package/es/apis/node/models/mappers.js +1910 -500
- package/es/apis/node/models/mappers.js.map +1 -1
- package/es/apis/node/node.d.ts +28 -6
- package/es/apis/node/node.js +276 -5
- package/es/apis/node/node.js.map +1 -1
- package/es/channel/Contract.d.ts +5 -0
- package/es/channel/Contract.js +8 -2
- package/es/channel/Contract.js.map +1 -1
- package/es/channel/handlers.js +3 -3
- package/es/channel/handlers.js.map +1 -1
- package/es/contract/ga.d.ts +5 -2
- package/es/contract/ga.js +53 -21
- package/es/contract/ga.js.map +1 -1
- package/es/index-browser.d.ts +3 -1
- package/es/index-browser.js +2 -1
- package/es/index-browser.js.map +1 -1
- package/es/tx/builder/constants.d.ts +12 -2
- package/es/tx/builder/constants.js +11 -1
- package/es/tx/builder/constants.js.map +1 -1
- package/es/tx/builder/entry/index.js +6 -0
- package/es/tx/builder/entry/index.js.map +1 -1
- package/es/tx/builder/entry/schema.d.ts +10 -10
- package/es/tx/builder/field-types/ct-version.d.ts +14 -0
- package/es/tx/builder/field-types/ct-version.js +14 -0
- package/es/tx/builder/field-types/ct-version.js.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +9 -7
- package/es/tx/builder/field-types/fee.js +75 -66
- package/es/tx/builder/field-types/fee.js.map +1 -1
- package/es/tx/builder/field-types/gas-limit.d.ts +5 -3
- package/es/tx/builder/field-types/gas-limit.js +25 -14
- package/es/tx/builder/field-types/gas-limit.js.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +6 -4
- package/es/tx/builder/field-types/gas-price.js +87 -21
- package/es/tx/builder/field-types/gas-price.js.map +1 -1
- package/es/tx/builder/field-types/interface.d.ts +20 -0
- package/es/tx/builder/field-types/interface.js +17 -1
- package/es/tx/builder/field-types/interface.js.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +3 -2
- package/es/tx/builder/field-types/name-fee.js +6 -0
- package/es/tx/builder/field-types/name-fee.js.map +1 -1
- package/es/tx/builder/field-types/pointers.d.ts +2 -1
- package/es/tx/builder/field-types/pointers.js +6 -2
- package/es/tx/builder/field-types/pointers.js.map +1 -1
- package/es/tx/builder/field-types/transaction.d.ts +4 -1
- package/es/tx/builder/field-types/transaction.js +18 -3
- package/es/tx/builder/field-types/transaction.js.map +1 -1
- package/es/tx/builder/field-types/with-formatting.d.ts +1 -1
- package/es/tx/builder/field-types/with-formatting.js +1 -1
- package/es/tx/builder/field-types/with-formatting.js.map +1 -1
- package/es/tx/builder/index.d.ts +13 -0
- package/es/tx/builder/index.js +92 -5
- package/es/tx/builder/index.js.map +1 -1
- package/es/tx/builder/protocol-parameters.d.ts +123 -0
- package/es/tx/builder/protocol-parameters.js +519 -0
- package/es/tx/builder/protocol-parameters.js.map +1 -0
- package/es/tx/builder/schema.d.ts +156 -155
- package/es/tx/builder/schema.js +5 -1
- package/es/tx/builder/schema.js.map +1 -1
- package/es/tx/execution-cost.js +5 -5
- package/es/tx/execution-cost.js.map +1 -1
- package/es/tx/transaction-signer.js +2 -2
- package/es/tx/transaction-signer.js.map +1 -1
- package/es/tx/validator.js +4 -4
- package/es/tx/validator.js.map +1 -1
- package/es/utils/wrap-proxy.d.ts +10 -0
- package/es/utils/wrap-proxy.js +18 -0
- package/es/utils/wrap-proxy.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","names":["changeStatus","changeState","notify","emit","disconnect","unpackTx","buildTx","decode","IllegalArgumentError","InsufficientBalanceError","ChannelConnectionError","UnexpectedChannelMessageError","ChannelError","Tag","snakeToPascal","appendSignature","tx","signFn","signatures","encodedTx","SignedTx","payloadTx","result","signatures2","tag","concat","signAndNotify","channel","method","data","signedTx","signed_tx","isError","key","error","handleUnexpectedMessage","_channel","message","state","reject","Object","assign","JSON","stringify","wsMessage","handler","channelOpen","awaitingCompletion","onSuccess","resolve","accepted","errorCode","params","error_code","errorMessage","error_msg","event","codes","map","d","code","includes","awaitingConnection","channelInfoStatus","nextStatus","awaitingChannelCreateTx","awaitingOpenConfirmation","_fsmId","fsm_id","payload","channelClosed","awaitingReestablish","awaitingChannelReestablished","_","message2","state2","awaitingReconnection","_options","role","sign","awaitingOnChainTx","awaitingBlockInclusion","info","type","_channelId","channel_id","awaitingChannelsUpdate","awaitingTxSignRequest","enter","_message$method$match","match","updates","awaitingUpdateConflict","awaitingShutdownTx","awaitingLeave","channelId","closeTx"],"sources":["../../src/channel/handlers.ts"],"sourcesContent":["/* eslint-disable consistent-return */\n/* eslint-disable default-case */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport {\n ChannelState,\n changeStatus,\n changeState,\n notify,\n emit,\n disconnect,\n ChannelMessage,\n ChannelFsm,\n SignTx,\n ChannelStatus,\n ChannelEvents,\n} from './internal.js';\nimport { unpackTx, buildTx } from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n IllegalArgumentError,\n InsufficientBalanceError,\n ChannelConnectionError,\n UnexpectedChannelMessageError,\n ChannelError,\n} from '../utils/errors.js';\nimport type Channel from './Base.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { snakeToPascal } from '../utils/string.js';\n\nexport async function appendSignature(\n tx: Encoded.Transaction,\n signFn: SignTx,\n): Promise<Encoded.Transaction | number | null> {\n const { signatures, encodedTx } = unpackTx(tx, Tag.SignedTx);\n const payloadTx = buildTx(encodedTx);\n const result = await signFn(payloadTx);\n if (typeof result === 'string') {\n const { signatures: signatures2 } = unpackTx(result, Tag.SignedTx);\n return buildTx({\n tag: Tag.SignedTx,\n signatures: signatures.concat(signatures2),\n encodedTx: decode(payloadTx),\n });\n }\n return result;\n}\n\nexport async function signAndNotify(\n channel: Channel,\n method: string,\n data: {\n tx?: Encoded.Transaction;\n signed_tx?: Encoded.Transaction;\n },\n signFn: SignTx,\n): Promise<boolean> {\n let signedTx;\n if (data.tx != null) signedTx = await signFn(data.tx);\n else if (data.signed_tx != null) signedTx = await appendSignature(data.signed_tx, signFn);\n else throw new ChannelError(\"Can't find transaction in message\");\n const isError = typeof signedTx !== 'string';\n const key = data.tx != null ? 'tx' : 'signed_tx';\n notify(channel, method, isError ? { error: signedTx ?? 1 } : { [key]: signedTx });\n return isError;\n}\n\nexport function handleUnexpectedMessage(\n _channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n state?.reject?.(\n Object.assign(\n new UnexpectedChannelMessageError(\n `Unexpected message received:\\n\\n${JSON.stringify(message)}`,\n ),\n { wsMessage: message },\n ),\n );\n return { handler: channelOpen };\n}\n\nexport function awaitingCompletion(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n onSuccess?: typeof handleUnexpectedMessage,\n): ChannelFsm {\n if (onSuccess != null && message.method === 'channels.update') {\n return onSuccess(channel, message, state);\n }\n if (message.method === 'channels.conflict') {\n state.resolve({\n accepted: false,\n errorCode: message.params.data.error_code,\n errorMessage: message.params.data.error_msg,\n });\n return { handler: channelOpen };\n }\n if (message.method === 'channels.info') {\n if (message.params.data.event === 'aborted_update') {\n state.resolve({ accepted: false });\n return { handler: channelOpen };\n }\n }\n if (message.error != null) {\n const codes = message.error.data.map((d) => d.code);\n if (codes.includes(1001)) {\n state.reject(new InsufficientBalanceError('Insufficient balance'));\n } else if (codes.includes(1002)) {\n state.reject(new IllegalArgumentError('Amount cannot be negative'));\n } else {\n state.reject(new ChannelConnectionError(message.error.message));\n }\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function awaitingConnection(\n channel: Channel,\n message: ChannelMessage,\n): ChannelFsm | undefined {\n if (message.method === 'channels.info') {\n const channelInfoStatus: string = message.params.data.event;\n\n let nextStatus: ChannelStatus | null = null;\n if (channelInfoStatus === 'channel_accept') nextStatus = 'accepted';\n if (channelInfoStatus === 'funding_created') nextStatus = 'halfSigned';\n if (nextStatus != null) {\n changeStatus(channel, nextStatus);\n return { handler: awaitingChannelCreateTx };\n }\n\n if (message.params.data.event === 'channel_reestablished') {\n return { handler: awaitingOpenConfirmation };\n }\n if (message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n return { handler: awaitingConnection };\n }\n return { handler: awaitingConnection };\n }\n if (message.method === 'channels.error') {\n emit(channel, 'error', new ChannelConnectionError(message?.payload?.message));\n return { handler: channelClosed };\n }\n}\n\nexport async function awaitingReestablish(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n return {\n handler: function awaitingChannelReestablished(\n _: Channel,\n message2: ChannelMessage,\n state2: ChannelState,\n ): ChannelFsm | undefined {\n if (\n message2.method === 'channels.info' &&\n message2.params.data.event === 'channel_reestablished'\n )\n return { handler: awaitingOpenConfirmation };\n return handleUnexpectedMessage(channel, message2, state2);\n },\n };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingReconnection(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n const { signedTx } = await channel.state();\n changeState(channel, signedTx == null ? '' : buildTx(signedTx));\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingChannelCreateTx(\n channel: Channel,\n message: ChannelMessage,\n): Promise<ChannelFsm | undefined> {\n const tag = channel._options.role === 'initiator' ? 'initiator_sign' : 'responder_sign';\n if (message.method === `channels.sign.${tag}`) {\n await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n channel._options.sign(tag, tx),\n );\n return { handler: awaitingOnChainTx };\n }\n}\n\nexport function awaitingOnChainTx(\n channel: Channel,\n message: ChannelMessage,\n): ChannelFsm | undefined {\n function awaitingBlockInclusion(_: Channel, message2: ChannelMessage): ChannelFsm | undefined {\n if (message2.method === 'channels.info') {\n switch (message2.params.data.event) {\n case 'funding_created':\n case 'own_funding_locked':\n return { handler: awaitingBlockInclusion };\n case 'funding_locked':\n return { handler: awaitingOpenConfirmation };\n }\n }\n if (message2.method === 'channels.on_chain_tx') {\n emit(channel, 'onChainTx', message2.params.data.tx, {\n info: message2.params.data.info,\n type: message2.params.data.type,\n });\n return { handler: awaitingBlockInclusion };\n }\n }\n\n if (message.method === 'channels.on_chain_tx') {\n const { info } = message.params.data;\n const { role } = channel._options;\n if (\n (info === 'funding_signed' && role === 'initiator') ||\n (info === 'funding_created' && role === 'responder')\n ) {\n return { handler: awaitingBlockInclusion };\n }\n }\n if (\n message.method === 'channels.info' &&\n message.params.data.event === 'funding_signed' &&\n channel._options.role === 'initiator'\n ) {\n channel._channelId = message.params.channel_id;\n changeStatus(channel, 'signed');\n return { handler: awaitingOnChainTx };\n }\n}\n\nfunction awaitingOpenConfirmation(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm | undefined {\n if (message.method === 'channels.info' && message.params.data.event === 'open') {\n channel._channelId = message.params.channel_id;\n return {\n handler: function awaitingChannelsUpdate(\n _: Channel,\n message2: ChannelMessage,\n state2: ChannelState,\n ): ChannelFsm | undefined {\n if (message2.method === 'channels.update') {\n changeState(channel, message2.params.data.state);\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message2, state2);\n },\n };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function channelOpen(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm | undefined> {\n switch (message.method) {\n case 'channels.info':\n switch (message.params.data.event) {\n case 'update':\n case 'withdraw_created':\n case 'deposit_created':\n return { handler: awaitingTxSignRequest };\n case 'own_withdraw_locked':\n case 'withdraw_locked':\n case 'own_deposit_locked':\n case 'deposit_locked':\n case 'peer_disconnected':\n case 'channel_reestablished':\n case 'open':\n // TODO: Better handling of peer_disconnected event.\n //\n // We should enter intermediate state where offchain transactions\n // are blocked until channel is reestablished.\n emit(channel, snakeToPascal(message.params.data.event) as keyof ChannelEvents);\n return { handler: channelOpen };\n case 'fsm_up':\n channel._fsmId = message.params.data.fsm_id;\n return { handler: channelOpen };\n case 'timeout':\n case 'close_mutual':\n return { handler: channelOpen };\n case 'closing':\n changeStatus(channel, 'closing');\n return { handler: channelOpen };\n case 'closed_confirmed':\n changeStatus(channel, 'closed');\n return { handler: channelClosed };\n case 'died':\n changeStatus(channel, 'died');\n return { handler: channelClosed };\n case 'shutdown':\n return { handler: channelOpen };\n }\n break;\n case 'channels.on_chain_tx':\n emit(channel, 'onChainTx', message.params.data.tx, {\n info: message.params.data.info,\n type: message.params.data.type,\n });\n return { handler: channelOpen };\n case 'channels.leave':\n // TODO: emit event\n return { handler: channelOpen };\n case 'channels.update':\n changeState(channel, message.params.data.state);\n return { handler: channelOpen };\n case 'channels.sign.shutdown_sign_ack':\n return awaitingTxSignRequest(channel, message, state);\n }\n}\nchannelOpen.enter = (channel: Channel) => {\n changeStatus(channel, 'open');\n};\n\nasync function awaitingTxSignRequest(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n const [, tag] = message.method.match(/^channels\\.sign\\.([^.]+)$/) ?? [];\n if (tag == null) return handleUnexpectedMessage(channel, message, state);\n const isError = await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n channel._options.sign(tag, tx, { updates: message.params.data.updates }),\n );\n\n function awaitingUpdateConflict(_: Channel, message2: ChannelMessage): ChannelFsm {\n if (message2.error != null) {\n return { handler: awaitingUpdateConflict, state };\n }\n if (message2.method === 'channels.conflict') {\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message2, state);\n }\n return isError ? { handler: awaitingUpdateConflict, state } : { handler: channelOpen };\n}\n\nexport async function awaitingShutdownTx(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method !== 'channels.sign.shutdown_sign') {\n return handleUnexpectedMessage(channel, message, state);\n }\n await signAndNotify(channel, 'channels.shutdown_sign', message.params.data, async (tx) =>\n state.sign(tx),\n );\n return {\n handler(_: Channel, message2: ChannelMessage): ChannelFsm {\n if (message2.method !== 'channels.on_chain_tx') {\n return handleUnexpectedMessage(channel, message2, state);\n }\n // state.resolve(message.params.data.tx)\n return { handler: channelClosed, state };\n },\n state,\n };\n}\n\nexport function awaitingLeave(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n if (message.method === 'channels.leave') {\n state.resolve({ channelId: message.params.channel_id, signedTx: message.params.data.state });\n disconnect(channel);\n return { handler: channelClosed };\n }\n if (message.method === 'channels.error') {\n state.reject(new ChannelConnectionError(message.data.message));\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function channelClosed(\n _channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n if (state == null) return { handler: channelClosed };\n if (message.params.data.event === 'closing') return { handler: channelClosed, state };\n if (message.params.data.info === 'channel_closed') {\n state.closeTx = message.params.data.tx;\n return { handler: channelClosed, state };\n }\n if (message.params.data.event === 'closed_confirmed') {\n state.resolve(state.closeTx);\n return { handler: channelClosed };\n }\n return { handler: channelClosed, state };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"handlers.js","names":["changeStatus","changeState","notify","emit","disconnect","unpackTx","buildTx","rebuildUnpackedTx","decode","IllegalArgumentError","InsufficientBalanceError","ChannelConnectionError","UnexpectedChannelMessageError","ChannelError","Tag","snakeToPascal","appendSignature","tx","signFn","signatures","encodedTx","SignedTx","payloadTx","result","signatures2","tag","concat","signAndNotify","channel","method","data","signedTx","signed_tx","isError","key","error","handleUnexpectedMessage","_channel","message","state","reject","Object","assign","JSON","stringify","wsMessage","handler","channelOpen","awaitingCompletion","onSuccess","resolve","accepted","errorCode","params","error_code","errorMessage","error_msg","event","codes","map","d","code","includes","awaitingConnection","channelInfoStatus","nextStatus","awaitingChannelCreateTx","awaitingOpenConfirmation","_fsmId","fsm_id","payload","channelClosed","awaitingReestablish","awaitingChannelReestablished","_","message2","state2","awaitingReconnection","_options","role","sign","awaitingOnChainTx","awaitingBlockInclusion","info","type","_channelId","channel_id","awaitingChannelsUpdate","awaitingTxSignRequest","enter","_message$method$match","match","updates","awaitingUpdateConflict","awaitingShutdownTx","awaitingLeave","channelId","closeTx"],"sources":["../../src/channel/handlers.ts"],"sourcesContent":["/* eslint-disable consistent-return */\n/* eslint-disable default-case */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport {\n ChannelState,\n changeStatus,\n changeState,\n notify,\n emit,\n disconnect,\n ChannelMessage,\n ChannelFsm,\n SignTx,\n ChannelStatus,\n ChannelEvents,\n} from './internal.js';\nimport { unpackTx, buildTx, rebuildUnpackedTx } from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n IllegalArgumentError,\n InsufficientBalanceError,\n ChannelConnectionError,\n UnexpectedChannelMessageError,\n ChannelError,\n} from '../utils/errors.js';\nimport type Channel from './Base.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { snakeToPascal } from '../utils/string.js';\n\nexport async function appendSignature(\n tx: Encoded.Transaction,\n signFn: SignTx,\n): Promise<Encoded.Transaction | number | null> {\n const { signatures, encodedTx } = unpackTx(tx, Tag.SignedTx);\n const payloadTx = rebuildUnpackedTx(encodedTx);\n const result = await signFn(payloadTx);\n if (typeof result === 'string') {\n const { signatures: signatures2 } = unpackTx(result, Tag.SignedTx);\n return buildTx({\n tag: Tag.SignedTx,\n signatures: signatures.concat(signatures2),\n encodedTx: decode(payloadTx),\n });\n }\n return result;\n}\n\nexport async function signAndNotify(\n channel: Channel,\n method: string,\n data: {\n tx?: Encoded.Transaction;\n signed_tx?: Encoded.Transaction;\n },\n signFn: SignTx,\n): Promise<boolean> {\n let signedTx;\n if (data.tx != null) signedTx = await signFn(data.tx);\n else if (data.signed_tx != null) signedTx = await appendSignature(data.signed_tx, signFn);\n else throw new ChannelError(\"Can't find transaction in message\");\n const isError = typeof signedTx !== 'string';\n const key = data.tx != null ? 'tx' : 'signed_tx';\n notify(channel, method, isError ? { error: signedTx ?? 1 } : { [key]: signedTx });\n return isError;\n}\n\nexport function handleUnexpectedMessage(\n _channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n state?.reject?.(\n Object.assign(\n new UnexpectedChannelMessageError(\n `Unexpected message received:\\n\\n${JSON.stringify(message)}`,\n ),\n { wsMessage: message },\n ),\n );\n return { handler: channelOpen };\n}\n\nexport function awaitingCompletion(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n onSuccess?: typeof handleUnexpectedMessage,\n): ChannelFsm {\n if (onSuccess != null && message.method === 'channels.update') {\n return onSuccess(channel, message, state);\n }\n if (message.method === 'channels.conflict') {\n state.resolve({\n accepted: false,\n errorCode: message.params.data.error_code,\n errorMessage: message.params.data.error_msg,\n });\n return { handler: channelOpen };\n }\n if (message.method === 'channels.info') {\n if (message.params.data.event === 'aborted_update') {\n state.resolve({ accepted: false });\n return { handler: channelOpen };\n }\n }\n if (message.error != null) {\n const codes = message.error.data.map((d) => d.code);\n if (codes.includes(1001)) {\n state.reject(new InsufficientBalanceError('Insufficient balance'));\n } else if (codes.includes(1002)) {\n state.reject(new IllegalArgumentError('Amount cannot be negative'));\n } else {\n state.reject(new ChannelConnectionError(message.error.message));\n }\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function awaitingConnection(\n channel: Channel,\n message: ChannelMessage,\n): ChannelFsm | undefined {\n if (message.method === 'channels.info') {\n const channelInfoStatus: string = message.params.data.event;\n\n let nextStatus: ChannelStatus | null = null;\n if (channelInfoStatus === 'channel_accept') nextStatus = 'accepted';\n if (channelInfoStatus === 'funding_created') nextStatus = 'halfSigned';\n if (nextStatus != null) {\n changeStatus(channel, nextStatus);\n return { handler: awaitingChannelCreateTx };\n }\n\n if (message.params.data.event === 'channel_reestablished') {\n return { handler: awaitingOpenConfirmation };\n }\n if (message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n return { handler: awaitingConnection };\n }\n return { handler: awaitingConnection };\n }\n if (message.method === 'channels.error') {\n emit(channel, 'error', new ChannelConnectionError(message?.payload?.message));\n return { handler: channelClosed };\n }\n}\n\nexport async function awaitingReestablish(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n return {\n handler: function awaitingChannelReestablished(\n _: Channel,\n message2: ChannelMessage,\n state2: ChannelState,\n ): ChannelFsm | undefined {\n if (\n message2.method === 'channels.info' &&\n message2.params.data.event === 'channel_reestablished'\n )\n return { handler: awaitingOpenConfirmation };\n return handleUnexpectedMessage(channel, message2, state2);\n },\n };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingReconnection(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n const { signedTx } = await channel.state();\n changeState(channel, signedTx == null ? '' : rebuildUnpackedTx(signedTx));\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingChannelCreateTx(\n channel: Channel,\n message: ChannelMessage,\n): Promise<ChannelFsm | undefined> {\n const tag = channel._options.role === 'initiator' ? 'initiator_sign' : 'responder_sign';\n if (message.method === `channels.sign.${tag}`) {\n await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n channel._options.sign(tag, tx),\n );\n return { handler: awaitingOnChainTx };\n }\n}\n\nexport function awaitingOnChainTx(\n channel: Channel,\n message: ChannelMessage,\n): ChannelFsm | undefined {\n function awaitingBlockInclusion(_: Channel, message2: ChannelMessage): ChannelFsm | undefined {\n if (message2.method === 'channels.info') {\n switch (message2.params.data.event) {\n case 'funding_created':\n case 'own_funding_locked':\n return { handler: awaitingBlockInclusion };\n case 'funding_locked':\n return { handler: awaitingOpenConfirmation };\n }\n }\n if (message2.method === 'channels.on_chain_tx') {\n emit(channel, 'onChainTx', message2.params.data.tx, {\n info: message2.params.data.info,\n type: message2.params.data.type,\n });\n return { handler: awaitingBlockInclusion };\n }\n }\n\n if (message.method === 'channels.on_chain_tx') {\n const { info } = message.params.data;\n const { role } = channel._options;\n if (\n (info === 'funding_signed' && role === 'initiator') ||\n (info === 'funding_created' && role === 'responder')\n ) {\n return { handler: awaitingBlockInclusion };\n }\n }\n if (\n message.method === 'channels.info' &&\n message.params.data.event === 'funding_signed' &&\n channel._options.role === 'initiator'\n ) {\n channel._channelId = message.params.channel_id;\n changeStatus(channel, 'signed');\n return { handler: awaitingOnChainTx };\n }\n}\n\nfunction awaitingOpenConfirmation(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm | undefined {\n if (message.method === 'channels.info' && message.params.data.event === 'open') {\n channel._channelId = message.params.channel_id;\n return {\n handler: function awaitingChannelsUpdate(\n _: Channel,\n message2: ChannelMessage,\n state2: ChannelState,\n ): ChannelFsm | undefined {\n if (message2.method === 'channels.update') {\n changeState(channel, message2.params.data.state);\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message2, state2);\n },\n };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function channelOpen(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm | undefined> {\n switch (message.method) {\n case 'channels.info':\n switch (message.params.data.event) {\n case 'update':\n case 'withdraw_created':\n case 'deposit_created':\n return { handler: awaitingTxSignRequest };\n case 'own_withdraw_locked':\n case 'withdraw_locked':\n case 'own_deposit_locked':\n case 'deposit_locked':\n case 'peer_disconnected':\n case 'channel_reestablished':\n case 'open':\n // TODO: Better handling of peer_disconnected event.\n //\n // We should enter intermediate state where offchain transactions\n // are blocked until channel is reestablished.\n emit(channel, snakeToPascal(message.params.data.event) as keyof ChannelEvents);\n return { handler: channelOpen };\n case 'fsm_up':\n channel._fsmId = message.params.data.fsm_id;\n return { handler: channelOpen };\n case 'timeout':\n case 'close_mutual':\n return { handler: channelOpen };\n case 'closing':\n changeStatus(channel, 'closing');\n return { handler: channelOpen };\n case 'closed_confirmed':\n changeStatus(channel, 'closed');\n return { handler: channelClosed };\n case 'died':\n changeStatus(channel, 'died');\n return { handler: channelClosed };\n case 'shutdown':\n return { handler: channelOpen };\n }\n break;\n case 'channels.on_chain_tx':\n emit(channel, 'onChainTx', message.params.data.tx, {\n info: message.params.data.info,\n type: message.params.data.type,\n });\n return { handler: channelOpen };\n case 'channels.leave':\n // TODO: emit event\n return { handler: channelOpen };\n case 'channels.update':\n changeState(channel, message.params.data.state);\n return { handler: channelOpen };\n case 'channels.sign.shutdown_sign_ack':\n return awaitingTxSignRequest(channel, message, state);\n }\n}\nchannelOpen.enter = (channel: Channel) => {\n changeStatus(channel, 'open');\n};\n\nasync function awaitingTxSignRequest(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n const [, tag] = message.method.match(/^channels\\.sign\\.([^.]+)$/) ?? [];\n if (tag == null) return handleUnexpectedMessage(channel, message, state);\n const isError = await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n channel._options.sign(tag, tx, { updates: message.params.data.updates }),\n );\n\n function awaitingUpdateConflict(_: Channel, message2: ChannelMessage): ChannelFsm {\n if (message2.error != null) {\n return { handler: awaitingUpdateConflict, state };\n }\n if (message2.method === 'channels.conflict') {\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message2, state);\n }\n return isError ? { handler: awaitingUpdateConflict, state } : { handler: channelOpen };\n}\n\nexport async function awaitingShutdownTx(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method !== 'channels.sign.shutdown_sign') {\n return handleUnexpectedMessage(channel, message, state);\n }\n await signAndNotify(channel, 'channels.shutdown_sign', message.params.data, async (tx) =>\n state.sign(tx),\n );\n return {\n handler(_: Channel, message2: ChannelMessage): ChannelFsm {\n if (message2.method !== 'channels.on_chain_tx') {\n return handleUnexpectedMessage(channel, message2, state);\n }\n // state.resolve(message.params.data.tx)\n return { handler: channelClosed, state };\n },\n state,\n };\n}\n\nexport function awaitingLeave(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n if (message.method === 'channels.leave') {\n state.resolve({ channelId: message.params.channel_id, signedTx: message.params.data.state });\n disconnect(channel);\n return { handler: channelClosed };\n }\n if (message.method === 'channels.error') {\n state.reject(new ChannelConnectionError(message.data.message));\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function channelClosed(\n _channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n if (state == null) return { handler: channelClosed };\n if (message.params.data.event === 'closing') return { handler: channelClosed, state };\n if (message.params.data.info === 'channel_closed') {\n state.closeTx = message.params.data.tx;\n return { handler: channelClosed, state };\n }\n if (message.params.data.event === 'closed_confirmed') {\n state.resolve(state.closeTx);\n return { handler: channelClosed };\n }\n return { handler: channelClosed, state };\n}\n"],"mappings":"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","ignoreList":[]}
|
package/es/contract/ga.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Int, Tag } from '../tx/builder/constants.js';
|
|
5
5
|
import { BuildTxOptions } from '../tx/builder/index.js';
|
|
6
|
+
import { ProtocolParametersOption } from '../tx/builder/protocol-parameters.js';
|
|
6
7
|
import { Encoded } from '../utils/encoder.js';
|
|
7
8
|
import Contract from './Contract.js';
|
|
8
9
|
import Node from '../Node.js';
|
|
@@ -34,13 +35,15 @@ interface CreateGeneralizedAccountOptions extends BuildTxOptions<Tag.GaAttachTx,
|
|
|
34
35
|
* @param options.fee - GaMetaTx fee, required in Ceres
|
|
35
36
|
* @param options.gasPrice - GaMetaTx gasPrice, required in Ceres
|
|
36
37
|
* @param options.onNode - Node to use
|
|
38
|
+
* @param options.protocolParameters - Consensus parameters the `gasPrice` belongs to, requested
|
|
39
|
+
* from node if not provided
|
|
37
40
|
* @returns Transaction hash
|
|
38
41
|
*/
|
|
39
|
-
export declare function buildAuthTxHash(transaction: Encoded.Transaction, { fee, gasPrice, onNode }: {
|
|
42
|
+
export declare function buildAuthTxHash(transaction: Encoded.Transaction, { fee, gasPrice, onNode, protocolParameters, }: {
|
|
40
43
|
fee?: Int;
|
|
41
44
|
gasPrice?: Int;
|
|
42
45
|
onNode: Node;
|
|
43
|
-
}): Promise<Buffer>;
|
|
46
|
+
} & ProtocolParametersOption): Promise<Buffer>;
|
|
44
47
|
/**
|
|
45
48
|
* Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx
|
|
46
49
|
* @category account generalized
|
package/es/contract/ga.js
CHANGED
|
@@ -3,8 +3,9 @@ import { Buffer as _Buffer } from "buffer";
|
|
|
3
3
|
* Generalized Account module - routines to use generalized account
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import { buildContractIdByContractTx,
|
|
6
|
+
import { Tag } from '../tx/builder/constants.js';
|
|
7
|
+
import { buildContractIdByContractTx, rebuildUnpackedTx, buildTxAsync, unpackTx } from '../tx/builder/index.js';
|
|
8
|
+
import { getCachedProtocolParameters } from '../tx/builder/protocol-parameters.js';
|
|
8
9
|
import { hash } from '../utils/crypto.js';
|
|
9
10
|
import { decode, encode, Encoding } from '../utils/encoder.js';
|
|
10
11
|
import { ArgumentError, IllegalArgumentError } from '../utils/errors.js';
|
|
@@ -14,6 +15,7 @@ import { getAccount } from '../chain.js';
|
|
|
14
15
|
import { sendTransaction } from '../send-transaction.js';
|
|
15
16
|
import { packEntry } from '../tx/builder/entry/index.js';
|
|
16
17
|
import { EntryTag } from '../tx/builder/entry/constants.js';
|
|
18
|
+
import { serializeAsIsParam } from '../tx/builder/field-types/interface.js';
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* Convert current account to GA
|
|
@@ -79,6 +81,40 @@ export async function createGeneralizedAccount(authFnName, args, {
|
|
|
79
81
|
gaContractId: contractId
|
|
80
82
|
});
|
|
81
83
|
}
|
|
84
|
+
// the symbol isn't exported, so only `buildAuthTxHashByGaMetaTx` can set it — kept off the public
|
|
85
|
+
// `buildAuthTxHash` signature rather than advertising an option its callers can't provide
|
|
86
|
+
async function buildAuthTxHashInternal(transaction, {
|
|
87
|
+
fee,
|
|
88
|
+
gasPrice,
|
|
89
|
+
onNode,
|
|
90
|
+
protocolParameters,
|
|
91
|
+
...options
|
|
92
|
+
}) {
|
|
93
|
+
const {
|
|
94
|
+
nodeNetworkId
|
|
95
|
+
} = await onNode.getNodeInfo();
|
|
96
|
+
let payload = hash(concatBuffers([_Buffer.from(nodeNetworkId), decode(transaction)]));
|
|
97
|
+
if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);
|
|
98
|
+
if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);
|
|
99
|
+
// the entry checks `gasPrice` against the consensus minimum the same way a transaction does,
|
|
100
|
+
// so it needs the same parameters — without them a `gasPrice` correct for the network this
|
|
101
|
+
// node runs is rejected whenever that network runs a lower minimum than the SDK release.
|
|
102
|
+
// Not requested at all when there is nothing to check, so that re-deriving the hash of an
|
|
103
|
+
// existing transaction needs no round trip and works on a transaction of another network
|
|
104
|
+
payload = hash(decode(packEntry({
|
|
105
|
+
tag: EntryTag.GaMetaTxAuthData,
|
|
106
|
+
fee,
|
|
107
|
+
gasPrice,
|
|
108
|
+
txHash: encode(payload, Encoding.TxHash),
|
|
109
|
+
...(options[serializeAsIsParam] === true ? {
|
|
110
|
+
[serializeAsIsParam]: true
|
|
111
|
+
} : {
|
|
112
|
+
protocolParameters: protocolParameters !== null && protocolParameters !== void 0 ? protocolParameters : await getCachedProtocolParameters(onNode)
|
|
113
|
+
})
|
|
114
|
+
})));
|
|
115
|
+
return payload;
|
|
116
|
+
}
|
|
117
|
+
|
|
82
118
|
/**
|
|
83
119
|
* Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload
|
|
84
120
|
* @category account generalized
|
|
@@ -87,29 +123,22 @@ export async function createGeneralizedAccount(authFnName, args, {
|
|
|
87
123
|
* @param options.fee - GaMetaTx fee, required in Ceres
|
|
88
124
|
* @param options.gasPrice - GaMetaTx gasPrice, required in Ceres
|
|
89
125
|
* @param options.onNode - Node to use
|
|
126
|
+
* @param options.protocolParameters - Consensus parameters the `gasPrice` belongs to, requested
|
|
127
|
+
* from node if not provided
|
|
90
128
|
* @returns Transaction hash
|
|
91
129
|
*/
|
|
92
130
|
export async function buildAuthTxHash(transaction, {
|
|
93
131
|
fee,
|
|
94
132
|
gasPrice,
|
|
95
|
-
onNode
|
|
133
|
+
onNode,
|
|
134
|
+
protocolParameters
|
|
96
135
|
}) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);
|
|
104
|
-
if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);
|
|
105
|
-
payload = hash(decode(packEntry({
|
|
106
|
-
tag: EntryTag.GaMetaTxAuthData,
|
|
107
|
-
fee,
|
|
108
|
-
gasPrice,
|
|
109
|
-
txHash: encode(payload, Encoding.TxHash)
|
|
110
|
-
})));
|
|
111
|
-
}
|
|
112
|
-
return payload;
|
|
136
|
+
return buildAuthTxHashInternal(transaction, {
|
|
137
|
+
fee,
|
|
138
|
+
gasPrice,
|
|
139
|
+
onNode,
|
|
140
|
+
protocolParameters
|
|
141
|
+
});
|
|
113
142
|
}
|
|
114
143
|
|
|
115
144
|
/**
|
|
@@ -127,10 +156,13 @@ export async function buildAuthTxHashByGaMetaTx(transaction, {
|
|
|
127
156
|
if (txParams.encodedTx.tag !== Tag.GaMetaTx) {
|
|
128
157
|
throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);
|
|
129
158
|
}
|
|
130
|
-
return
|
|
159
|
+
return buildAuthTxHashInternal(rebuildUnpackedTx(txParams.encodedTx.tx.encodedTx), {
|
|
131
160
|
fee: txParams.encodedTx.fee,
|
|
132
161
|
gasPrice: txParams.encodedTx.gasPrice,
|
|
133
|
-
onNode
|
|
162
|
+
onNode,
|
|
163
|
+
// the `gasPrice` of a transaction that already exists, never checked and no parameters
|
|
164
|
+
// requested for it — see `serializeAsIsParam`
|
|
165
|
+
[serializeAsIsParam]: true
|
|
134
166
|
});
|
|
135
167
|
}
|
|
136
168
|
//# sourceMappingURL=ga.js.map
|
package/es/contract/ga.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ga.js","names":["ConsensusProtocolVersion","Tag","buildContractIdByContractTx","buildTx","buildTxAsync","unpackTx","hash","decode","encode","Encoding","ArgumentError","IllegalArgumentError","concatBuffers","Contract","getAccount","sendTransaction","packEntry","EntryTag","createGeneralizedAccount","authFnName","args","onAccount","onCompiler","onNode","bytecode","aci","sourceCodePath","sourceCode","fileSystem","options","_options$gasLimit","ownerId","address","kind","contract","initialize","tx","_isInternalBuild","tag","GaAttachTx","code","$compile","gasLimit","_estimateGas","callData","_calldata","_name","authFun","transaction","rawTx","contractId","Object","freeze","owner","gaContractId","buildAuthTxHash","fee","gasPrice","nodeNetworkId","consensusProtocolVersion","getNodeInfo","payload","_Buffer","from","Ceres","GaMetaTxAuthData","txHash","TxHash","buildAuthTxHashByGaMetaTx","txParams","SignedTx","encodedTx","GaMetaTx"],"sources":["../../src/contract/ga.ts"],"sourcesContent":["/**\n * Generalized Account module - routines to use generalized account\n */\n\nimport { ConsensusProtocolVersion, Int, Tag } from '../tx/builder/constants.js';\nimport {\n buildContractIdByContractTx,\n buildTx,\n buildTxAsync,\n BuildTxOptions,\n unpackTx,\n} from '../tx/builder/index.js';\nimport { hash } from '../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { ArgumentError, IllegalArgumentError } from '../utils/errors.js';\nimport { concatBuffers } from '../utils/other.js';\nimport Contract from './Contract.js';\nimport Node from '../Node.js';\nimport { getAccount } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport CompilerBase from './compiler/Base.js';\nimport { packEntry } from '../tx/builder/entry/index.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\n\n/**\n * Convert current account to GA\n * @category account generalized\n * @param authFnName - Authorization function name\n * @param args - init arguments\n * @param options - Options\n * @returns General Account Object\n */\nexport async function createGeneralizedAccount(\n authFnName: string,\n args: any[],\n {\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n ...options\n }: CreateGeneralizedAccountOptions,\n): Promise<\n Readonly<{\n owner: Encoded.AccountAddress;\n transaction: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n gaContractId: Encoded.ContractAddress;\n }>\n> {\n const ownerId = onAccount.address;\n if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {\n throw new IllegalArgumentError(`Account ${ownerId} is already GA`);\n }\n\n const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n });\n\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.GaAttachTx,\n onNode,\n code: await contract.$compile(),\n gasLimit: options.gasLimit ?? (await contract._estimateGas('init', args, options)),\n ownerId,\n callData: contract._calldata.encode(contract._name, 'init', args),\n authFun: hash(authFnName),\n });\n const { hash: transaction, rawTx } = await sendTransaction(tx, {\n onNode,\n onAccount,\n onCompiler,\n ...options,\n });\n const contractId = buildContractIdByContractTx(rawTx);\n\n return Object.freeze({\n owner: ownerId,\n transaction,\n rawTx,\n gaContractId: contractId,\n });\n}\n\ninterface CreateGeneralizedAccountOptions\n extends BuildTxOptions<\n Tag.GaAttachTx,\n 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'\n >,\n SendTransactionOptions,\n Pick<\n Parameters<typeof Contract.initialize>[0],\n 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'\n > {\n onCompiler: CompilerBase;\n gasLimit?: number;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload\n * @category account generalized\n * @param transaction - tx-encoded transaction\n * @param options - Options\n * @param options.fee - GaMetaTx fee, required in Ceres\n * @param options.gasPrice - GaMetaTx gasPrice, required in Ceres\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHash(\n transaction: Encoded.Transaction,\n { fee, gasPrice, onNode }: { fee?: Int; gasPrice?: Int; onNode: Node },\n): Promise<Buffer> {\n const { nodeNetworkId, consensusProtocolVersion } = await onNode.getNodeInfo();\n let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));\n if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {\n if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);\n if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);\n payload = hash(\n decode(\n packEntry({\n tag: EntryTag.GaMetaTxAuthData,\n fee,\n gasPrice,\n txHash: encode(payload, Encoding.TxHash),\n }),\n ),\n );\n }\n return payload;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx\n * @category account generalized\n * @param transaction - tx-encoded signed GaMeta transaction\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHashByGaMetaTx(\n transaction: Encoded.Transaction,\n { onNode }: { onNode: Node },\n): Promise<Buffer> {\n const txParams = unpackTx(transaction, Tag.SignedTx);\n if (txParams.encodedTx.tag !== Tag.GaMetaTx) {\n throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);\n }\n return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {\n fee: txParams.encodedTx.fee,\n gasPrice: txParams.encodedTx.gasPrice,\n onNode,\n });\n}\n"],"mappings":";AAAA;AACA;AACA;;AAEA,SAASA,wBAAwB,EAAOC,GAAG,QAAQ,4BAA4B;AAC/E,SACEC,2BAA2B,EAC3BC,OAAO,EACPC,YAAY,EAEZC,QAAQ,QACH,wBAAwB;AAC/B,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,MAAM,EAAEC,MAAM,EAAWC,QAAQ,QAAQ,qBAAqB;AACvE,SAASC,aAAa,EAAEC,oBAAoB,QAAQ,oBAAoB;AACxE,SAASC,aAAa,QAAQ,mBAAmB;AACjD,OAAOC,QAAQ,MAAM,eAAe;AAEpC,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,eAAe,QAAgC,wBAAwB;AAEhF,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,QAAQ,QAAQ,kCAAkC;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,wBAAwBA,CAC5CC,UAAkB,EAClBC,IAAW,EACX;EACEC,SAAS;EACTC,UAAU;EACVC,MAAM;EACNC,QAAQ;EACRC,GAAG;EACHC,cAAc;EACdC,UAAU;EACVC,UAAU;EACV,GAAGC;AAC4B,CAAC,EAQlC;EAAA,IAAAC,iBAAA;EACA,MAAMC,OAAO,GAAGV,SAAS,CAACW,OAAO;EACjC,IAAI,CAAC,MAAMlB,UAAU,CAACiB,OAAO,EAAE;IAAER;EAAO,CAAC,CAAC,EAAEU,IAAI,KAAK,aAAa,EAAE;IAClE,MAAM,IAAItB,oBAAoB,CAAC,WAAWoB,OAAO,gBAAgB,CAAC;EACpE;EAEA,MAAMG,QAAQ,GAAG,MAAMrB,QAAQ,CAACsB,UAAU,CAAkC;IAC1Ed,SAAS;IACTC,UAAU;IACVC,MAAM;IACNC,QAAQ;IACRC,GAAG;IACHC,cAAc;IACdC,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMQ,EAAE,GAAG,MAAMhC,YAAY,CAAC;IAC5BiC,gBAAgB,EAAE,IAAI;IACtB,GAAGR,OAAO;IACVS,GAAG,EAAErC,GAAG,CAACsC,UAAU;IACnBhB,MAAM;IACNiB,IAAI,EAAE,MAAMN,QAAQ,CAACO,QAAQ,CAAC,CAAC;IAC/BC,QAAQ,GAAAZ,iBAAA,GAAED,OAAO,CAACa,QAAQ,cAAAZ,iBAAA,cAAAA,iBAAA,GAAK,MAAMI,QAAQ,CAACS,YAAY,CAAC,MAAM,EAAEvB,IAAI,EAAES,OAAO,CAAE;IAClFE,OAAO;IACPa,QAAQ,EAAEV,QAAQ,CAACW,SAAS,CAACrC,MAAM,CAAC0B,QAAQ,CAACY,KAAK,EAAE,MAAM,EAAE1B,IAAI,CAAC;IACjE2B,OAAO,EAAEzC,IAAI,CAACa,UAAU;EAC1B,CAAC,CAAC;EACF,MAAM;IAAEb,IAAI,EAAE0C,WAAW;IAAEC;EAAM,CAAC,GAAG,MAAMlC,eAAe,CAACqB,EAAE,EAAE;IAC7Db,MAAM;IACNF,SAAS;IACTC,UAAU;IACV,GAAGO;EACL,CAAC,CAAC;EACF,MAAMqB,UAAU,GAAGhD,2BAA2B,CAAC+C,KAAK,CAAC;EAErD,OAAOE,MAAM,CAACC,MAAM,CAAC;IACnBC,KAAK,EAAEtB,OAAO;IACdiB,WAAW;IACXC,KAAK;IACLK,YAAY,EAAEJ;EAChB,CAAC,CAAC;AACJ;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeK,eAAeA,CACnCP,WAAgC,EAChC;EAAEQ,GAAG;EAAEC,QAAQ;EAAElC;AAAoD,CAAC,EACrD;EACjB,MAAM;IAAEmC,aAAa;IAAEC;EAAyB,CAAC,GAAG,MAAMpC,MAAM,CAACqC,WAAW,CAAC,CAAC;EAC9E,IAAIC,OAAO,GAAGvD,IAAI,CAACM,aAAa,CAAC,CAACkD,OAAA,CAAOC,IAAI,CAACL,aAAa,CAAC,EAAEnD,MAAM,CAACyC,WAAW,CAAC,CAAC,CAAC,CAAC;EACpF,IAAIW,wBAAwB,KAAK3D,wBAAwB,CAACgE,KAAK,EAAE;IAC/D,IAAIR,GAAG,IAAI,IAAI,EAAE,MAAM,IAAI9C,aAAa,CAAC,KAAK,EAAE,qBAAqB,EAAE8C,GAAG,CAAC;IAC3E,IAAIC,QAAQ,IAAI,IAAI,EAAE,MAAM,IAAI/C,aAAa,CAAC,UAAU,EAAE,qBAAqB,EAAE+C,QAAQ,CAAC;IAC1FI,OAAO,GAAGvD,IAAI,CACZC,MAAM,CACJS,SAAS,CAAC;MACRsB,GAAG,EAAErB,QAAQ,CAACgD,gBAAgB;MAC9BT,GAAG;MACHC,QAAQ;MACRS,MAAM,EAAE1D,MAAM,CAACqD,OAAO,EAAEpD,QAAQ,CAAC0D,MAAM;IACzC,CAAC,CACH,CACF,CAAC;EACH;EACA,OAAON,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,yBAAyBA,CAC7CpB,WAAgC,EAChC;EAAEzB;AAAyB,CAAC,EACX;EACjB,MAAM8C,QAAQ,GAAGhE,QAAQ,CAAC2C,WAAW,EAAE/C,GAAG,CAACqE,QAAQ,CAAC;EACpD,IAAID,QAAQ,CAACE,SAAS,CAACjC,GAAG,KAAKrC,GAAG,CAACuE,QAAQ,EAAE;IAC3C,MAAM,IAAI9D,aAAa,CAAC,aAAa,EAAE,qBAAqB,EAAET,GAAG,CAACoE,QAAQ,CAACE,SAAS,CAACjC,GAAG,CAAC,CAAC;EAC5F;EACA,OAAOiB,eAAe,CAACpD,OAAO,CAACkE,QAAQ,CAACE,SAAS,CAACnC,EAAE,CAACmC,SAAS,CAAC,EAAE;IAC/Df,GAAG,EAAEa,QAAQ,CAACE,SAAS,CAACf,GAAG;IAC3BC,QAAQ,EAAEY,QAAQ,CAACE,SAAS,CAACd,QAAQ;IACrClC;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ga.js","names":["Tag","buildContractIdByContractTx","rebuildUnpackedTx","buildTxAsync","unpackTx","getCachedProtocolParameters","hash","decode","encode","Encoding","ArgumentError","IllegalArgumentError","concatBuffers","Contract","getAccount","sendTransaction","packEntry","EntryTag","serializeAsIsParam","createGeneralizedAccount","authFnName","args","onAccount","onCompiler","onNode","bytecode","aci","sourceCodePath","sourceCode","fileSystem","options","_options$gasLimit","ownerId","address","kind","contract","initialize","tx","_isInternalBuild","tag","GaAttachTx","code","$compile","gasLimit","_estimateGas","callData","_calldata","_name","authFun","transaction","rawTx","contractId","Object","freeze","owner","gaContractId","buildAuthTxHashInternal","fee","gasPrice","protocolParameters","nodeNetworkId","getNodeInfo","payload","_Buffer","from","GaMetaTxAuthData","txHash","TxHash","buildAuthTxHash","buildAuthTxHashByGaMetaTx","txParams","SignedTx","encodedTx","GaMetaTx"],"sources":["../../src/contract/ga.ts"],"sourcesContent":["/**\n * Generalized Account module - routines to use generalized account\n */\n\nimport { Int, Tag } from '../tx/builder/constants.js';\nimport {\n buildContractIdByContractTx,\n rebuildUnpackedTx,\n buildTxAsync,\n BuildTxOptions,\n unpackTx,\n} from '../tx/builder/index.js';\nimport {\n getCachedProtocolParameters,\n ProtocolParametersOption,\n} from '../tx/builder/protocol-parameters.js';\nimport { hash } from '../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { ArgumentError, IllegalArgumentError } from '../utils/errors.js';\nimport { concatBuffers } from '../utils/other.js';\nimport Contract from './Contract.js';\nimport Node from '../Node.js';\nimport { getAccount } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport CompilerBase from './compiler/Base.js';\nimport { packEntry } from '../tx/builder/entry/index.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { serializeAsIsParam, SerializeAsIsParams } from '../tx/builder/field-types/interface.js';\n\n/**\n * Convert current account to GA\n * @category account generalized\n * @param authFnName - Authorization function name\n * @param args - init arguments\n * @param options - Options\n * @returns General Account Object\n */\nexport async function createGeneralizedAccount(\n authFnName: string,\n args: any[],\n {\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n ...options\n }: CreateGeneralizedAccountOptions,\n): Promise<\n Readonly<{\n owner: Encoded.AccountAddress;\n transaction: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n gaContractId: Encoded.ContractAddress;\n }>\n> {\n const ownerId = onAccount.address;\n if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {\n throw new IllegalArgumentError(`Account ${ownerId} is already GA`);\n }\n\n const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n });\n\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.GaAttachTx,\n onNode,\n code: await contract.$compile(),\n gasLimit: options.gasLimit ?? (await contract._estimateGas('init', args, options)),\n ownerId,\n callData: contract._calldata.encode(contract._name, 'init', args),\n authFun: hash(authFnName),\n });\n const { hash: transaction, rawTx } = await sendTransaction(tx, {\n onNode,\n onAccount,\n onCompiler,\n ...options,\n });\n const contractId = buildContractIdByContractTx(rawTx);\n\n return Object.freeze({\n owner: ownerId,\n transaction,\n rawTx,\n gaContractId: contractId,\n });\n}\n\ninterface CreateGeneralizedAccountOptions\n extends BuildTxOptions<\n Tag.GaAttachTx,\n 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'\n >,\n SendTransactionOptions,\n Pick<\n Parameters<typeof Contract.initialize>[0],\n 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'\n > {\n onCompiler: CompilerBase;\n gasLimit?: number;\n}\n\n// the symbol isn't exported, so only `buildAuthTxHashByGaMetaTx` can set it — kept off the public\n// `buildAuthTxHash` signature rather than advertising an option its callers can't provide\nasync function buildAuthTxHashInternal(\n transaction: Encoded.Transaction,\n {\n fee,\n gasPrice,\n onNode,\n protocolParameters,\n ...options\n }: Parameters<typeof buildAuthTxHash>[1] & SerializeAsIsParams,\n): Promise<Buffer> {\n const { nodeNetworkId } = await onNode.getNodeInfo();\n let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));\n if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);\n if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);\n // the entry checks `gasPrice` against the consensus minimum the same way a transaction does,\n // so it needs the same parameters — without them a `gasPrice` correct for the network this\n // node runs is rejected whenever that network runs a lower minimum than the SDK release.\n // Not requested at all when there is nothing to check, so that re-deriving the hash of an\n // existing transaction needs no round trip and works on a transaction of another network\n payload = hash(\n decode(\n packEntry({\n tag: EntryTag.GaMetaTxAuthData,\n fee,\n gasPrice,\n txHash: encode(payload, Encoding.TxHash),\n ...(options[serializeAsIsParam] === true\n ? { [serializeAsIsParam]: true }\n : {\n protocolParameters: protocolParameters ?? (await getCachedProtocolParameters(onNode)),\n }),\n }),\n ),\n );\n return payload;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload\n * @category account generalized\n * @param transaction - tx-encoded transaction\n * @param options - Options\n * @param options.fee - GaMetaTx fee, required in Ceres\n * @param options.gasPrice - GaMetaTx gasPrice, required in Ceres\n * @param options.onNode - Node to use\n * @param options.protocolParameters - Consensus parameters the `gasPrice` belongs to, requested\n * from node if not provided\n * @returns Transaction hash\n */\nexport async function buildAuthTxHash(\n transaction: Encoded.Transaction,\n {\n fee,\n gasPrice,\n onNode,\n protocolParameters,\n }: { fee?: Int; gasPrice?: Int; onNode: Node } & ProtocolParametersOption,\n): Promise<Buffer> {\n return buildAuthTxHashInternal(transaction, { fee, gasPrice, onNode, protocolParameters });\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx\n * @category account generalized\n * @param transaction - tx-encoded signed GaMeta transaction\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHashByGaMetaTx(\n transaction: Encoded.Transaction,\n { onNode }: { onNode: Node },\n): Promise<Buffer> {\n const txParams = unpackTx(transaction, Tag.SignedTx);\n if (txParams.encodedTx.tag !== Tag.GaMetaTx) {\n throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);\n }\n return buildAuthTxHashInternal(rebuildUnpackedTx(txParams.encodedTx.tx.encodedTx), {\n fee: txParams.encodedTx.fee,\n gasPrice: txParams.encodedTx.gasPrice,\n onNode,\n // the `gasPrice` of a transaction that already exists, never checked and no parameters\n // requested for it — see `serializeAsIsParam`\n [serializeAsIsParam]: true,\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
package/es/index-browser.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { verifyMessageSignature as verifyMessage } from './utils/crypto.js';
|
|
|
19
19
|
export { signJwt, unpackJwt, verifyJwt, isJwt, ensureJwt } from './utils/jwt.js';
|
|
20
20
|
export type { Jwt } from './utils/jwt.js';
|
|
21
21
|
export { toBytes } from './utils/bytes.js';
|
|
22
|
-
export { buildTx, buildTxAsync, buildTxHash, unpackTx, buildContractIdByContractTx, } from './tx/builder/index.js';
|
|
22
|
+
export { buildTx, buildTxAsync, buildTxHash, rebuildUnpackedTx, unpackTx, buildContractIdByContractTx, } from './tx/builder/index.js';
|
|
23
23
|
export { buildContractId, oracleQueryId, produceNameId, commitmentHash, readInt, isName, ensureName, getDefaultPointerKey, getMinimumNameFee, computeBidFee, computeAuctionEndBlock, isAuctionName, } from './tx/builder/helpers.js';
|
|
24
24
|
/**
|
|
25
25
|
* @category contract
|
|
@@ -33,6 +33,8 @@ export { buildContractId as encodeContractAddress } from './tx/builder/helpers.j
|
|
|
33
33
|
export { isName as isNameValid } from './tx/builder/helpers.js';
|
|
34
34
|
export { MAX_AUTH_FUN_GAS, MIN_GAS_PRICE, NAME_FEE_MULTIPLIER, NAME_FEE_BID_INCREMENT, NAME_BID_TIMEOUT_BLOCKS, NAME_MAX_LENGTH_FEE, NAME_BID_RANGES, ConsensusProtocolVersion, VmVersion, AbiVersion, Tag, DRY_RUN_ACCOUNT, } from './tx/builder/constants.js';
|
|
35
35
|
export type { Int, AensName } from './tx/builder/constants.js';
|
|
36
|
+
export { defaultProtocolParameters, getCachedProtocolParameters, } from './tx/builder/protocol-parameters.js';
|
|
37
|
+
export type { ProtocolParameters, ProtocolParametersOption, } from './tx/builder/protocol-parameters.js';
|
|
36
38
|
export { ORACLE_TTL_TYPES } from './tx/builder/schema.js';
|
|
37
39
|
export { DelegationTag } from './tx/builder/delegation/schema.js';
|
|
38
40
|
export { packDelegation, unpackDelegation } from './tx/builder/delegation/index.js';
|
package/es/index-browser.js
CHANGED
|
@@ -18,7 +18,7 @@ export { hashMessage as messageToHash } from './utils/crypto.js';
|
|
|
18
18
|
export { verifyMessageSignature as verifyMessage } from './utils/crypto.js';
|
|
19
19
|
export { signJwt, unpackJwt, verifyJwt, isJwt, ensureJwt } from './utils/jwt.js';
|
|
20
20
|
export { toBytes } from './utils/bytes.js';
|
|
21
|
-
export { buildTx, buildTxAsync, buildTxHash, unpackTx, buildContractIdByContractTx } from './tx/builder/index.js';
|
|
21
|
+
export { buildTx, buildTxAsync, buildTxHash, rebuildUnpackedTx, unpackTx, buildContractIdByContractTx } from './tx/builder/index.js';
|
|
22
22
|
export { buildContractId, oracleQueryId, produceNameId, commitmentHash, readInt, isName, ensureName, getDefaultPointerKey, getMinimumNameFee, computeBidFee, computeAuctionEndBlock, isAuctionName } from './tx/builder/helpers.js';
|
|
23
23
|
/**
|
|
24
24
|
* @category contract
|
|
@@ -31,6 +31,7 @@ export { buildContractId as encodeContractAddress } from './tx/builder/helpers.j
|
|
|
31
31
|
*/
|
|
32
32
|
export { isName as isNameValid } from './tx/builder/helpers.js';
|
|
33
33
|
export { MAX_AUTH_FUN_GAS, MIN_GAS_PRICE, NAME_FEE_MULTIPLIER, NAME_FEE_BID_INCREMENT, NAME_BID_TIMEOUT_BLOCKS, NAME_MAX_LENGTH_FEE, NAME_BID_RANGES, ConsensusProtocolVersion, VmVersion, AbiVersion, Tag, DRY_RUN_ACCOUNT } from './tx/builder/constants.js';
|
|
34
|
+
export { defaultProtocolParameters, getCachedProtocolParameters } from './tx/builder/protocol-parameters.js';
|
|
34
35
|
// TODO: move to constants
|
|
35
36
|
export { ORACLE_TTL_TYPES } from './tx/builder/schema.js';
|
|
36
37
|
export { DelegationTag } from './tx/builder/delegation/schema.js';
|
package/es/index-browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser.js","names":["_getPollInterval","getHeight","poll","awaitHeight","waitForTxConfirm","getAccount","getBalance","getCurrentGeneration","getGeneration","getMicroBlockTransactions","getKeyBlock","getMicroBlockHeader","txDryRun","getContractByteCode","getContract","getName","resolveName","InvalidTxError","sendTransaction","isAddressValid","ensureEncoded","isEncoded","genSalt","encodeUnsigned","hash","verifySignature","hashMessage","verifyMessageSignature","verify","messageToHash","verifyMessage","signJwt","unpackJwt","verifyJwt","isJwt","ensureJwt","toBytes","buildTx","buildTxAsync","buildTxHash","unpackTx","buildContractIdByContractTx","buildContractId","oracleQueryId","produceNameId","commitmentHash","readInt","isName","ensureName","getDefaultPointerKey","getMinimumNameFee","computeBidFee","computeAuctionEndBlock","isAuctionName","encodeContractAddress","isNameValid","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","DRY_RUN_ACCOUNT","ORACLE_TTL_TYPES","DelegationTag","packDelegation","unpackDelegation","EntryTag","CallReturnType","packEntry","unpackEntry","getExecutionCost","getExecutionCostBySignedTx","getExecutionCostUsingNode","default","getTransactionSignerAddress","AE_AMOUNT_FORMATS","formatAmount","toAe","toAettos","prefixedAmount","encode","decode","Encoding","Encoded","hashTypedData","hashDomain","hashJson","Name","Contract","Oracle","OracleClient","spend","transferFunds","payForTransaction","createGeneralizedAccount","buildAuthTxHash","buildAuthTxHashByGaMetaTx","AeSdkMethods","AeSdkBase","AeSdk","AeSdkAepp","WalletConnectorFrame","WalletConnectorFrameWithNode","AeSdkWallet","Node","verifyTransaction","AccountBase","AccountMemory","MemoryAccount","AccountMnemonicFactory","AccountGeneralized","AccountLedger","AccountLedgerFactory","AccountMetamask","AccountMetamaskFactory","CompilerBase","CompilerHttp","Channel","MiddlewareSubscriber","MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","Middleware","MiddlewarePageMissed","connectionProxy","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","RpcError","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcMethodNotFoundError","RpcNoNetworkById","walletDetector","BrowserRuntimeConnection","BrowserWindowMessageConnection","BaseError","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","IllegalArgumentError","ArgumentCountMismatchError","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","TxTimedOutError","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","LogicError","InternalError","UnexpectedTsError","UnavailableAccountError","AensPointerContextError","InsufficientNameFeeError","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","DuplicateContractError","InactiveContractError","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","NoSuchContractFunctionError","NotPayableFunctionError","MissingEventDefinitionError","AmbiguousEventDefinitionError","InvalidChecksumError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","UnknownPathNibbleError","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError"],"sources":["../src/index-browser.ts"],"sourcesContent":["export {\n _getPollInterval,\n getHeight,\n poll,\n awaitHeight,\n waitForTxConfirm,\n getAccount,\n getBalance,\n getCurrentGeneration,\n getGeneration,\n getMicroBlockTransactions,\n getKeyBlock,\n getMicroBlockHeader,\n txDryRun,\n getContractByteCode,\n getContract,\n getName,\n resolveName,\n} from './chain.js';\nexport { InvalidTxError, sendTransaction } from './send-transaction.js';\nexport {\n isAddressValid,\n ensureEncoded,\n isEncoded,\n genSalt,\n encodeUnsigned,\n hash,\n verifySignature,\n hashMessage,\n verifyMessageSignature,\n} from './utils/crypto.js';\n/**\n * @category utils\n * @deprecated use {@link verifySignature} instead\n */\nexport { verifySignature as verify } from './utils/crypto.js';\n/**\n * @deprecated use {@link hashMessage} instead\n * @category utils\n */\nexport { hashMessage as messageToHash } from './utils/crypto.js';\n/**\n * @deprecated use {@link verifyMessageSignature} instead\n * @category utils\n */\nexport { verifyMessageSignature as verifyMessage } from './utils/crypto.js';\nexport { signJwt, unpackJwt, verifyJwt, isJwt, ensureJwt } from './utils/jwt.js';\nexport type { Jwt } from './utils/jwt.js';\nexport { toBytes } from './utils/bytes.js';\nexport {\n buildTx,\n buildTxAsync,\n buildTxHash,\n unpackTx,\n buildContractIdByContractTx,\n} from './tx/builder/index.js';\nexport {\n buildContractId,\n oracleQueryId,\n produceNameId,\n commitmentHash,\n readInt,\n isName,\n ensureName,\n getDefaultPointerKey,\n getMinimumNameFee,\n computeBidFee,\n computeAuctionEndBlock,\n isAuctionName,\n} from './tx/builder/helpers.js';\n/**\n * @category contract\n * @deprecated use {@link buildContractId} instead\n */\nexport { buildContractId as encodeContractAddress } from './tx/builder/helpers.js';\n/**\n * @category AENS\n * @deprecated use {@link isName} instead\n */\nexport { isName as isNameValid } from './tx/builder/helpers.js';\nexport {\n MAX_AUTH_FUN_GAS,\n MIN_GAS_PRICE,\n NAME_FEE_MULTIPLIER,\n NAME_FEE_BID_INCREMENT,\n NAME_BID_TIMEOUT_BLOCKS,\n NAME_MAX_LENGTH_FEE,\n NAME_BID_RANGES,\n ConsensusProtocolVersion,\n VmVersion,\n AbiVersion,\n Tag,\n DRY_RUN_ACCOUNT,\n} from './tx/builder/constants.js';\nexport type { Int, AensName } from './tx/builder/constants.js';\n// TODO: move to constants\nexport { ORACLE_TTL_TYPES } from './tx/builder/schema.js';\nexport { DelegationTag } from './tx/builder/delegation/schema.js';\nexport { packDelegation, unpackDelegation } from './tx/builder/delegation/index.js';\nexport { EntryTag, CallReturnType } from './tx/builder/entry/constants.js';\nexport { packEntry, unpackEntry } from './tx/builder/entry/index.js';\nexport {\n getExecutionCost,\n getExecutionCostBySignedTx,\n getExecutionCostUsingNode,\n} from './tx/execution-cost.js';\nexport { default as getTransactionSignerAddress } from './tx/transaction-signer.js';\nexport {\n AE_AMOUNT_FORMATS,\n formatAmount,\n toAe,\n toAettos,\n prefixedAmount,\n} from './utils/amount-formatter.js';\nexport { encode, decode, Encoding, Encoded } from './utils/encoder.js';\nexport { hashTypedData, hashDomain, hashJson } from './utils/typed-data.js';\nexport { default as Name } from './aens.js';\nexport { default as Contract } from './contract/Contract.js';\nexport type { ContractMethodsBase } from './contract/Contract.js';\nexport { default as Oracle } from './oracle/Oracle.js';\nexport { default as OracleClient } from './oracle/OracleClient.js';\nexport { spend, transferFunds, payForTransaction } from './spend.js';\nexport {\n createGeneralizedAccount,\n buildAuthTxHash,\n buildAuthTxHashByGaMetaTx,\n} from './contract/ga.js';\n\nexport { default as AeSdkMethods } from './AeSdkMethods.js';\nexport { default as AeSdkBase } from './AeSdkBase.js';\nexport { default as AeSdk } from './AeSdk.js';\nexport { default as AeSdkAepp } from './AeSdkAepp.js';\nexport { default as WalletConnectorFrame } from './aepp-wallet-communication/WalletConnectorFrame.js';\nexport { default as WalletConnectorFrameWithNode } from './aepp-wallet-communication/WalletConnectorFrameWithNode.js';\nexport { default as AeSdkWallet } from './AeSdkWallet.js';\nexport { default as Node } from './Node.js';\nexport { default as verifyTransaction } from './tx/validator.js';\nexport { default as AccountBase } from './account/Base.js';\nexport { default as AccountMemory } from './account/Memory.js';\n/**\n * @deprecated Use {@link AccountMemory} instead\n * @category account\n */\nexport { default as MemoryAccount } from './account/Memory.js';\nexport { default as AccountMnemonicFactory } from './account/MnemonicFactory.js';\nexport { default as AccountGeneralized } from './account/Generalized.js';\nexport { default as AccountLedger } from './account/Ledger.js';\nexport { default as AccountLedgerFactory } from './account/LedgerFactory.js';\nexport { default as AccountMetamask } from './account/Metamask.js';\nexport { default as AccountMetamaskFactory } from './account/MetamaskFactory.js';\nexport { default as CompilerBase } from './contract/compiler/Base.js';\nexport { default as CompilerHttp } from './contract/compiler/Http.js';\nexport { default as Channel } from './channel/Contract.js';\nexport {\n default as MiddlewareSubscriber,\n MiddlewareSubscriberError,\n MiddlewareSubscriberDisconnected,\n} from './MiddlewareSubscriber.js';\nexport { default as Middleware } from './Middleware.js';\nexport { MiddlewarePageMissed } from './utils/MiddlewarePage.js';\n\nexport { default as connectionProxy } from './aepp-wallet-communication/connection-proxy.js';\nexport {\n MESSAGE_DIRECTION,\n WALLET_TYPE,\n SUBSCRIPTION_TYPES,\n METHODS,\n RPC_STATUS,\n RpcError,\n RpcInvalidTransactionError,\n RpcRejectedByUserError,\n RpcUnsupportedProtocolError,\n RpcConnectionDenyError,\n RpcNotAuthorizeError,\n RpcPermissionDenyError,\n RpcInternalError,\n RpcMethodNotFoundError,\n RpcNoNetworkById,\n} from './aepp-wallet-communication/schema.js';\nexport { default as walletDetector } from './aepp-wallet-communication/wallet-detector.js';\nexport { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime.js';\nexport { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage.js';\nexport {\n BaseError,\n AccountError,\n AensError,\n AeppError,\n ChannelError,\n CompilerError,\n ContractError,\n CryptographyError,\n NodeError,\n TransactionError,\n WalletError,\n ArgumentError,\n IllegalArgumentError,\n ArgumentCountMismatchError,\n InsufficientBalanceError,\n MissingParamError,\n NoSerializerFoundError,\n RequestTimedOutError,\n TxTimedOutError,\n TypeError,\n UnsupportedPlatformError,\n UnsupportedProtocolError,\n NotImplementedError,\n UnsupportedVersionError,\n LogicError,\n InternalError,\n UnexpectedTsError,\n UnavailableAccountError,\n AensPointerContextError,\n InsufficientNameFeeError,\n InvalidAensNameError,\n InvalidRpcMessageError,\n MissingCallbackError,\n UnAuthorizedAccountError,\n UnknownRpcClientError,\n UnsubscribedAccountError,\n ChannelCallError,\n ChannelConnectionError,\n ChannelPingTimedOutError,\n UnexpectedChannelMessageError,\n ChannelIncomingMessageError,\n UnknownChannelStateError,\n InvalidAuthDataError,\n BytecodeMismatchError,\n DuplicateContractError,\n InactiveContractError,\n InvalidMethodInvocationError,\n MissingContractAddressError,\n MissingContractDefError,\n MissingFunctionNameError,\n NodeInvocationError,\n NoSuchContractFunctionError,\n NotPayableFunctionError,\n MissingEventDefinitionError,\n AmbiguousEventDefinitionError,\n InvalidChecksumError,\n MerkleTreeHashMismatchError,\n MissingNodeInTreeError,\n UnknownNodeLengthError,\n UnknownPathNibbleError,\n DuplicateNodeError,\n NodeNotFoundError,\n DecodeError,\n PayloadLengthError,\n DryRunError,\n IllegalBidFeeError,\n InvalidSignatureError,\n PrefixNotFoundError,\n SchemaNotFoundError,\n TagNotFoundError,\n TxNotInChainError,\n AlreadyConnectedError,\n NoWalletConnectedError,\n RpcConnectionError,\n} from './utils/errors.js';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index-browser.js","names":["_getPollInterval","getHeight","poll","awaitHeight","waitForTxConfirm","getAccount","getBalance","getCurrentGeneration","getGeneration","getMicroBlockTransactions","getKeyBlock","getMicroBlockHeader","txDryRun","getContractByteCode","getContract","getName","resolveName","InvalidTxError","sendTransaction","isAddressValid","ensureEncoded","isEncoded","genSalt","encodeUnsigned","hash","verifySignature","hashMessage","verifyMessageSignature","verify","messageToHash","verifyMessage","signJwt","unpackJwt","verifyJwt","isJwt","ensureJwt","toBytes","buildTx","buildTxAsync","buildTxHash","rebuildUnpackedTx","unpackTx","buildContractIdByContractTx","buildContractId","oracleQueryId","produceNameId","commitmentHash","readInt","isName","ensureName","getDefaultPointerKey","getMinimumNameFee","computeBidFee","computeAuctionEndBlock","isAuctionName","encodeContractAddress","isNameValid","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","DRY_RUN_ACCOUNT","defaultProtocolParameters","getCachedProtocolParameters","ORACLE_TTL_TYPES","DelegationTag","packDelegation","unpackDelegation","EntryTag","CallReturnType","packEntry","unpackEntry","getExecutionCost","getExecutionCostBySignedTx","getExecutionCostUsingNode","default","getTransactionSignerAddress","AE_AMOUNT_FORMATS","formatAmount","toAe","toAettos","prefixedAmount","encode","decode","Encoding","Encoded","hashTypedData","hashDomain","hashJson","Name","Contract","Oracle","OracleClient","spend","transferFunds","payForTransaction","createGeneralizedAccount","buildAuthTxHash","buildAuthTxHashByGaMetaTx","AeSdkMethods","AeSdkBase","AeSdk","AeSdkAepp","WalletConnectorFrame","WalletConnectorFrameWithNode","AeSdkWallet","Node","verifyTransaction","AccountBase","AccountMemory","MemoryAccount","AccountMnemonicFactory","AccountGeneralized","AccountLedger","AccountLedgerFactory","AccountMetamask","AccountMetamaskFactory","CompilerBase","CompilerHttp","Channel","MiddlewareSubscriber","MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","Middleware","MiddlewarePageMissed","connectionProxy","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","RpcError","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcMethodNotFoundError","RpcNoNetworkById","walletDetector","BrowserRuntimeConnection","BrowserWindowMessageConnection","BaseError","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","IllegalArgumentError","ArgumentCountMismatchError","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","TxTimedOutError","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","LogicError","InternalError","UnexpectedTsError","UnavailableAccountError","AensPointerContextError","InsufficientNameFeeError","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","DuplicateContractError","InactiveContractError","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","NoSuchContractFunctionError","NotPayableFunctionError","MissingEventDefinitionError","AmbiguousEventDefinitionError","InvalidChecksumError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","UnknownPathNibbleError","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError"],"sources":["../src/index-browser.ts"],"sourcesContent":["export {\n _getPollInterval,\n getHeight,\n poll,\n awaitHeight,\n waitForTxConfirm,\n getAccount,\n getBalance,\n getCurrentGeneration,\n getGeneration,\n getMicroBlockTransactions,\n getKeyBlock,\n getMicroBlockHeader,\n txDryRun,\n getContractByteCode,\n getContract,\n getName,\n resolveName,\n} from './chain.js';\nexport { InvalidTxError, sendTransaction } from './send-transaction.js';\nexport {\n isAddressValid,\n ensureEncoded,\n isEncoded,\n genSalt,\n encodeUnsigned,\n hash,\n verifySignature,\n hashMessage,\n verifyMessageSignature,\n} from './utils/crypto.js';\n/**\n * @category utils\n * @deprecated use {@link verifySignature} instead\n */\nexport { verifySignature as verify } from './utils/crypto.js';\n/**\n * @deprecated use {@link hashMessage} instead\n * @category utils\n */\nexport { hashMessage as messageToHash } from './utils/crypto.js';\n/**\n * @deprecated use {@link verifyMessageSignature} instead\n * @category utils\n */\nexport { verifyMessageSignature as verifyMessage } from './utils/crypto.js';\nexport { signJwt, unpackJwt, verifyJwt, isJwt, ensureJwt } from './utils/jwt.js';\nexport type { Jwt } from './utils/jwt.js';\nexport { toBytes } from './utils/bytes.js';\nexport {\n buildTx,\n buildTxAsync,\n buildTxHash,\n rebuildUnpackedTx,\n unpackTx,\n buildContractIdByContractTx,\n} from './tx/builder/index.js';\nexport {\n buildContractId,\n oracleQueryId,\n produceNameId,\n commitmentHash,\n readInt,\n isName,\n ensureName,\n getDefaultPointerKey,\n getMinimumNameFee,\n computeBidFee,\n computeAuctionEndBlock,\n isAuctionName,\n} from './tx/builder/helpers.js';\n/**\n * @category contract\n * @deprecated use {@link buildContractId} instead\n */\nexport { buildContractId as encodeContractAddress } from './tx/builder/helpers.js';\n/**\n * @category AENS\n * @deprecated use {@link isName} instead\n */\nexport { isName as isNameValid } from './tx/builder/helpers.js';\nexport {\n MAX_AUTH_FUN_GAS,\n MIN_GAS_PRICE,\n NAME_FEE_MULTIPLIER,\n NAME_FEE_BID_INCREMENT,\n NAME_BID_TIMEOUT_BLOCKS,\n NAME_MAX_LENGTH_FEE,\n NAME_BID_RANGES,\n ConsensusProtocolVersion,\n VmVersion,\n AbiVersion,\n Tag,\n DRY_RUN_ACCOUNT,\n} from './tx/builder/constants.js';\nexport type { Int, AensName } from './tx/builder/constants.js';\nexport {\n defaultProtocolParameters,\n getCachedProtocolParameters,\n} from './tx/builder/protocol-parameters.js';\nexport type {\n ProtocolParameters,\n ProtocolParametersOption,\n} from './tx/builder/protocol-parameters.js';\n// TODO: move to constants\nexport { ORACLE_TTL_TYPES } from './tx/builder/schema.js';\nexport { DelegationTag } from './tx/builder/delegation/schema.js';\nexport { packDelegation, unpackDelegation } from './tx/builder/delegation/index.js';\nexport { EntryTag, CallReturnType } from './tx/builder/entry/constants.js';\nexport { packEntry, unpackEntry } from './tx/builder/entry/index.js';\nexport {\n getExecutionCost,\n getExecutionCostBySignedTx,\n getExecutionCostUsingNode,\n} from './tx/execution-cost.js';\nexport { default as getTransactionSignerAddress } from './tx/transaction-signer.js';\nexport {\n AE_AMOUNT_FORMATS,\n formatAmount,\n toAe,\n toAettos,\n prefixedAmount,\n} from './utils/amount-formatter.js';\nexport { encode, decode, Encoding, Encoded } from './utils/encoder.js';\nexport { hashTypedData, hashDomain, hashJson } from './utils/typed-data.js';\nexport { default as Name } from './aens.js';\nexport { default as Contract } from './contract/Contract.js';\nexport type { ContractMethodsBase } from './contract/Contract.js';\nexport { default as Oracle } from './oracle/Oracle.js';\nexport { default as OracleClient } from './oracle/OracleClient.js';\nexport { spend, transferFunds, payForTransaction } from './spend.js';\nexport {\n createGeneralizedAccount,\n buildAuthTxHash,\n buildAuthTxHashByGaMetaTx,\n} from './contract/ga.js';\n\nexport { default as AeSdkMethods } from './AeSdkMethods.js';\nexport { default as AeSdkBase } from './AeSdkBase.js';\nexport { default as AeSdk } from './AeSdk.js';\nexport { default as AeSdkAepp } from './AeSdkAepp.js';\nexport { default as WalletConnectorFrame } from './aepp-wallet-communication/WalletConnectorFrame.js';\nexport { default as WalletConnectorFrameWithNode } from './aepp-wallet-communication/WalletConnectorFrameWithNode.js';\nexport { default as AeSdkWallet } from './AeSdkWallet.js';\nexport { default as Node } from './Node.js';\nexport { default as verifyTransaction } from './tx/validator.js';\nexport { default as AccountBase } from './account/Base.js';\nexport { default as AccountMemory } from './account/Memory.js';\n/**\n * @deprecated Use {@link AccountMemory} instead\n * @category account\n */\nexport { default as MemoryAccount } from './account/Memory.js';\nexport { default as AccountMnemonicFactory } from './account/MnemonicFactory.js';\nexport { default as AccountGeneralized } from './account/Generalized.js';\nexport { default as AccountLedger } from './account/Ledger.js';\nexport { default as AccountLedgerFactory } from './account/LedgerFactory.js';\nexport { default as AccountMetamask } from './account/Metamask.js';\nexport { default as AccountMetamaskFactory } from './account/MetamaskFactory.js';\nexport { default as CompilerBase } from './contract/compiler/Base.js';\nexport { default as CompilerHttp } from './contract/compiler/Http.js';\nexport { default as Channel } from './channel/Contract.js';\nexport {\n default as MiddlewareSubscriber,\n MiddlewareSubscriberError,\n MiddlewareSubscriberDisconnected,\n} from './MiddlewareSubscriber.js';\nexport { default as Middleware } from './Middleware.js';\nexport { MiddlewarePageMissed } from './utils/MiddlewarePage.js';\n\nexport { default as connectionProxy } from './aepp-wallet-communication/connection-proxy.js';\nexport {\n MESSAGE_DIRECTION,\n WALLET_TYPE,\n SUBSCRIPTION_TYPES,\n METHODS,\n RPC_STATUS,\n RpcError,\n RpcInvalidTransactionError,\n RpcRejectedByUserError,\n RpcUnsupportedProtocolError,\n RpcConnectionDenyError,\n RpcNotAuthorizeError,\n RpcPermissionDenyError,\n RpcInternalError,\n RpcMethodNotFoundError,\n RpcNoNetworkById,\n} from './aepp-wallet-communication/schema.js';\nexport { default as walletDetector } from './aepp-wallet-communication/wallet-detector.js';\nexport { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime.js';\nexport { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage.js';\nexport {\n BaseError,\n AccountError,\n AensError,\n AeppError,\n ChannelError,\n CompilerError,\n ContractError,\n CryptographyError,\n NodeError,\n TransactionError,\n WalletError,\n ArgumentError,\n IllegalArgumentError,\n ArgumentCountMismatchError,\n InsufficientBalanceError,\n MissingParamError,\n NoSerializerFoundError,\n RequestTimedOutError,\n TxTimedOutError,\n TypeError,\n UnsupportedPlatformError,\n UnsupportedProtocolError,\n NotImplementedError,\n UnsupportedVersionError,\n LogicError,\n InternalError,\n UnexpectedTsError,\n UnavailableAccountError,\n AensPointerContextError,\n InsufficientNameFeeError,\n InvalidAensNameError,\n InvalidRpcMessageError,\n MissingCallbackError,\n UnAuthorizedAccountError,\n UnknownRpcClientError,\n UnsubscribedAccountError,\n ChannelCallError,\n ChannelConnectionError,\n ChannelPingTimedOutError,\n UnexpectedChannelMessageError,\n ChannelIncomingMessageError,\n UnknownChannelStateError,\n InvalidAuthDataError,\n BytecodeMismatchError,\n DuplicateContractError,\n InactiveContractError,\n InvalidMethodInvocationError,\n MissingContractAddressError,\n MissingContractDefError,\n MissingFunctionNameError,\n NodeInvocationError,\n NoSuchContractFunctionError,\n NotPayableFunctionError,\n MissingEventDefinitionError,\n AmbiguousEventDefinitionError,\n InvalidChecksumError,\n MerkleTreeHashMismatchError,\n MissingNodeInTreeError,\n UnknownNodeLengthError,\n UnknownPathNibbleError,\n DuplicateNodeError,\n NodeNotFoundError,\n DecodeError,\n PayloadLengthError,\n DryRunError,\n IllegalBidFeeError,\n InvalidSignatureError,\n PrefixNotFoundError,\n SchemaNotFoundError,\n TagNotFoundError,\n TxNotInChainError,\n AlreadyConnectedError,\n NoWalletConnectedError,\n RpcConnectionError,\n} from './utils/errors.js';\n"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,SAAS,EACTC,IAAI,EACJC,WAAW,EACXC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,oBAAoB,EACpBC,aAAa,EACbC,yBAAyB,EACzBC,WAAW,EACXC,mBAAmB,EACnBC,QAAQ,EACRC,mBAAmB,EACnBC,WAAW,EACXC,OAAO,EACPC,WAAW,QACN,YAAY;AACnB,SAASC,cAAc,EAAEC,eAAe,QAAQ,uBAAuB;AACvE,SACEC,cAAc,EACdC,aAAa,EACbC,SAAS,EACTC,OAAO,EACPC,cAAc,EACdC,IAAI,EACJC,eAAe,EACfC,WAAW,EACXC,sBAAsB,QACjB,mBAAmB;AAC1B;AACA;AACA;AACA;AACA,SAASF,eAAe,IAAIG,MAAM,QAAQ,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,SAASF,WAAW,IAAIG,aAAa,QAAQ,mBAAmB;AAChE;AACA;AACA;AACA;AACA,SAASF,sBAAsB,IAAIG,aAAa,QAAQ,mBAAmB;AAC3E,SAASC,OAAO,EAAEC,SAAS,EAAEC,SAAS,EAAEC,KAAK,EAAEC,SAAS,QAAQ,gBAAgB;AAEhF,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SACEC,OAAO,EACPC,YAAY,EACZC,WAAW,EACXC,iBAAiB,EACjBC,QAAQ,EACRC,2BAA2B,QACtB,uBAAuB;AAC9B,SACEC,eAAe,EACfC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,oBAAoB,EACpBC,iBAAiB,EACjBC,aAAa,EACbC,sBAAsB,EACtBC,aAAa,QACR,yBAAyB;AAChC;AACA;AACA;AACA;AACA,SAASX,eAAe,IAAIY,qBAAqB,QAAQ,yBAAyB;AAClF;AACA;AACA;AACA;AACA,SAASP,MAAM,IAAIQ,WAAW,QAAQ,yBAAyB;AAC/D,SACEC,gBAAgB,EAChBC,aAAa,EACbC,mBAAmB,EACnBC,sBAAsB,EACtBC,uBAAuB,EACvBC,mBAAmB,EACnBC,eAAe,EACfC,wBAAwB,EACxBC,SAAS,EACTC,UAAU,EACVC,GAAG,EACHC,eAAe,QACV,2BAA2B;AAElC,SACEC,yBAAyB,EACzBC,2BAA2B,QACtB,qCAAqC;AAK5C;AACA,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,aAAa,QAAQ,mCAAmC;AACjE,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,kCAAkC;AACnF,SAASC,QAAQ,EAAEC,cAAc,QAAQ,iCAAiC;AAC1E,SAASC,SAAS,EAAEC,WAAW,QAAQ,6BAA6B;AACpE,SACEC,gBAAgB,EAChBC,0BAA0B,EAC1BC,yBAAyB,QACpB,wBAAwB;AAC/B,SAASC,OAAO,IAAIC,2BAA2B,QAAQ,4BAA4B;AACnF,SACEC,iBAAiB,EACjBC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,cAAc,QACT,6BAA6B;AACpC,SAASC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtE,SAASC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3E,SAASb,OAAO,IAAIc,IAAI,QAAQ,WAAW;AAC3C,SAASd,OAAO,IAAIe,QAAQ,QAAQ,wBAAwB;AAE5D,SAASf,OAAO,IAAIgB,MAAM,QAAQ,oBAAoB;AACtD,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,0BAA0B;AAClE,SAASC,KAAK,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,YAAY;AACpE,SACEC,wBAAwB,EACxBC,eAAe,EACfC,yBAAyB,QACpB,kBAAkB;AAEzB,SAASvB,OAAO,IAAIwB,YAAY,QAAQ,mBAAmB;AAC3D,SAASxB,OAAO,IAAIyB,SAAS,QAAQ,gBAAgB;AACrD,SAASzB,OAAO,IAAI0B,KAAK,QAAQ,YAAY;AAC7C,SAAS1B,OAAO,IAAI2B,SAAS,QAAQ,gBAAgB;AACrD,SAAS3B,OAAO,IAAI4B,oBAAoB,QAAQ,qDAAqD;AACrG,SAAS5B,OAAO,IAAI6B,4BAA4B,QAAQ,6DAA6D;AACrH,SAAS7B,OAAO,IAAI8B,WAAW,QAAQ,kBAAkB;AACzD,SAAS9B,OAAO,IAAI+B,IAAI,QAAQ,WAAW;AAC3C,SAAS/B,OAAO,IAAIgC,iBAAiB,QAAQ,mBAAmB;AAChE,SAAShC,OAAO,IAAIiC,WAAW,QAAQ,mBAAmB;AAC1D,SAASjC,OAAO,IAAIkC,aAAa,QAAQ,qBAAqB;AAC9D;AACA;AACA;AACA;AACA,SAASlC,OAAO,IAAImC,aAAa,QAAQ,qBAAqB;AAC9D,SAASnC,OAAO,IAAIoC,sBAAsB,QAAQ,8BAA8B;AAChF,SAASpC,OAAO,IAAIqC,kBAAkB,QAAQ,0BAA0B;AACxE,SAASrC,OAAO,IAAIsC,aAAa,QAAQ,qBAAqB;AAC9D,SAAStC,OAAO,IAAIuC,oBAAoB,QAAQ,4BAA4B;AAC5E,SAASvC,OAAO,IAAIwC,eAAe,QAAQ,uBAAuB;AAClE,SAASxC,OAAO,IAAIyC,sBAAsB,QAAQ,8BAA8B;AAChF,SAASzC,OAAO,IAAI0C,YAAY,QAAQ,6BAA6B;AACrE,SAAS1C,OAAO,IAAI2C,YAAY,QAAQ,6BAA6B;AACrE,SAAS3C,OAAO,IAAI4C,OAAO,QAAQ,uBAAuB;AAC1D,SACE5C,OAAO,IAAI6C,oBAAoB,EAC/BC,yBAAyB,EACzBC,gCAAgC,QAC3B,2BAA2B;AAClC,SAAS/C,OAAO,IAAIgD,UAAU,QAAQ,iBAAiB;AACvD,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,SAASjD,OAAO,IAAIkD,eAAe,QAAQ,iDAAiD;AAC5F,SACEC,iBAAiB,EACjBC,WAAW,EACXC,kBAAkB,EAClBC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,0BAA0B,EAC1BC,sBAAsB,EACtBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,oBAAoB,EACpBC,sBAAsB,EACtBC,gBAAgB,EAChBC,sBAAsB,EACtBC,gBAAgB,QACX,uCAAuC;AAC9C,SAASjE,OAAO,IAAIkE,cAAc,QAAQ,gDAAgD;AAC1F,SAASlE,OAAO,IAAImE,wBAAwB,QAAQ,0DAA0D;AAC9G,SAASnE,OAAO,IAAIoE,8BAA8B,QAAQ,gEAAgE;AAC1H,SACEC,SAAS,EACTC,YAAY,EACZC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZC,aAAa,EACbC,aAAa,EACbC,iBAAiB,EACjBC,SAAS,EACTC,gBAAgB,EAChBC,WAAW,EACXC,aAAa,EACbC,oBAAoB,EACpBC,0BAA0B,EAC1BC,wBAAwB,EACxBC,iBAAiB,EACjBC,sBAAsB,EACtBC,oBAAoB,EACpBC,eAAe,EACfC,SAAS,EACTC,wBAAwB,EACxBC,wBAAwB,EACxBC,mBAAmB,EACnBC,uBAAuB,EACvBC,UAAU,EACVC,aAAa,EACbC,iBAAiB,EACjBC,uBAAuB,EACvBC,uBAAuB,EACvBC,wBAAwB,EACxBC,oBAAoB,EACpBC,sBAAsB,EACtBC,oBAAoB,EACpBC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,gBAAgB,EAChBC,sBAAsB,EACtBC,wBAAwB,EACxBC,6BAA6B,EAC7BC,2BAA2B,EAC3BC,wBAAwB,EACxBC,oBAAoB,EACpBC,qBAAqB,EACrBC,sBAAsB,EACtBC,qBAAqB,EACrBC,4BAA4B,EAC5BC,2BAA2B,EAC3BC,uBAAuB,EACvBC,wBAAwB,EACxBC,mBAAmB,EACnBC,2BAA2B,EAC3BC,uBAAuB,EACvBC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,oBAAoB,EACpBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,sBAAsB,EACtBC,sBAAsB,EACtBC,kBAAkB,EAClBC,iBAAiB,EACjBC,WAAW,EACXC,kBAAkB,EAClBC,WAAW,EACXC,kBAAkB,EAClBC,qBAAqB,EACrBC,mBAAmB,EACnBC,mBAAmB,EACnBC,gBAAgB,EAChBC,iBAAiB,EACjBC,qBAAqB,EACrBC,sBAAsB,EACtBC,kBAAkB,QACb,mBAAmB","ignoreList":[]}
|
|
@@ -7,8 +7,13 @@ export declare const DRY_RUN_ACCOUNT: {
|
|
|
7
7
|
readonly amount: 100000000000000000000000000000000000n;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
+
* The maximum gas of a generalized account authentication function as it was at the moment of the
|
|
11
|
+
* SDK release. It is a node policy setting rather than a consensus parameter.
|
|
10
12
|
* @category account generalized
|
|
11
|
-
* @deprecated transaction builder
|
|
13
|
+
* @deprecated the transaction builder ensures that gas doesn't exceed the maximum by itself, and a
|
|
14
|
+
* node may accept another maximum than this constant. Use
|
|
15
|
+
* `(await getCachedProtocolParameters(node)).maxAuthFunGas` for the value the connected node
|
|
16
|
+
* reports, or `defaultProtocolParameters.maxAuthFunGas` for this one.
|
|
12
17
|
*/
|
|
13
18
|
export declare const MAX_AUTH_FUN_GAS = 50000;
|
|
14
19
|
/**
|
|
@@ -20,7 +25,11 @@ export type Int = number | string | BigNumber;
|
|
|
20
25
|
*/
|
|
21
26
|
export type AensName = `${string}.chain`;
|
|
22
27
|
/**
|
|
28
|
+
* The consensus minimum gas price as it was at the moment of the SDK release.
|
|
23
29
|
* @category transaction builder
|
|
30
|
+
* @deprecated a node may run another minimum gas price, and this constant is wrong on it. Use
|
|
31
|
+
* `(await getCachedProtocolParameters(node)).minGasPrice` for the value the connected node
|
|
32
|
+
* reports, or `defaultProtocolParameters.minGasPrice` for this one.
|
|
24
33
|
*/
|
|
25
34
|
export declare const MIN_GAS_PRICE = 1000000000;
|
|
26
35
|
/**
|
|
@@ -61,7 +70,8 @@ export declare const NAME_BID_RANGES: {
|
|
|
61
70
|
* @category chain
|
|
62
71
|
*/
|
|
63
72
|
export declare enum ConsensusProtocolVersion {
|
|
64
|
-
Ceres = 6
|
|
73
|
+
Ceres = 6,
|
|
74
|
+
Arcus = 7
|
|
65
75
|
}
|
|
66
76
|
/**
|
|
67
77
|
* @category contract
|
|
@@ -10,8 +10,13 @@ export const DRY_RUN_ACCOUNT = {
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
+
* The maximum gas of a generalized account authentication function as it was at the moment of the
|
|
14
|
+
* SDK release. It is a node policy setting rather than a consensus parameter.
|
|
13
15
|
* @category account generalized
|
|
14
|
-
* @deprecated transaction builder
|
|
16
|
+
* @deprecated the transaction builder ensures that gas doesn't exceed the maximum by itself, and a
|
|
17
|
+
* node may accept another maximum than this constant. Use
|
|
18
|
+
* `(await getCachedProtocolParameters(node)).maxAuthFunGas` for the value the connected node
|
|
19
|
+
* reports, or `defaultProtocolParameters.maxAuthFunGas` for this one.
|
|
15
20
|
*/
|
|
16
21
|
export const MAX_AUTH_FUN_GAS = 50000;
|
|
17
22
|
/**
|
|
@@ -23,7 +28,11 @@ export const MAX_AUTH_FUN_GAS = 50000;
|
|
|
23
28
|
*/
|
|
24
29
|
|
|
25
30
|
/**
|
|
31
|
+
* The consensus minimum gas price as it was at the moment of the SDK release.
|
|
26
32
|
* @category transaction builder
|
|
33
|
+
* @deprecated a node may run another minimum gas price, and this constant is wrong on it. Use
|
|
34
|
+
* `(await getCachedProtocolParameters(node)).minGasPrice` for the value the connected node
|
|
35
|
+
* reports, or `defaultProtocolParameters.minGasPrice` for this one.
|
|
27
36
|
*/
|
|
28
37
|
export const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae
|
|
29
38
|
/**
|
|
@@ -96,6 +105,7 @@ export const NAME_BID_RANGES = mapObject({
|
|
|
96
105
|
*/
|
|
97
106
|
export let ConsensusProtocolVersion = /*#__PURE__*/function (ConsensusProtocolVersion) {
|
|
98
107
|
ConsensusProtocolVersion[ConsensusProtocolVersion["Ceres"] = 6] = "Ceres";
|
|
108
|
+
ConsensusProtocolVersion[ConsensusProtocolVersion["Arcus"] = 7] = "Arcus";
|
|
99
109
|
return ConsensusProtocolVersion;
|
|
100
110
|
}({});
|
|
101
111
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["BigNumber","mapObject","DRY_RUN_ACCOUNT","pub","amount","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\n/**\n * @category transaction builder\n */\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\n/**\n * @category account generalized\n * @deprecated transaction builder
|
|
1
|
+
{"version":3,"file":"constants.js","names":["BigNumber","mapObject","DRY_RUN_ACCOUNT","pub","amount","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\n/**\n * @category transaction builder\n */\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\n/**\n * The maximum gas of a generalized account authentication function as it was at the moment of the\n * SDK release. It is a node policy setting rather than a consensus parameter.\n * @category account generalized\n * @deprecated the transaction builder ensures that gas doesn't exceed the maximum by itself, and a\n * node may accept another maximum than this constant. Use\n * `(await getCachedProtocolParameters(node)).maxAuthFunGas` for the value the connected node\n * reports, or `defaultProtocolParameters.maxAuthFunGas` for this one.\n */\nexport const MAX_AUTH_FUN_GAS = 50000;\n/**\n * @category utils\n */\nexport type Int = number | string | BigNumber;\n/**\n * @category AENS\n */\nexport type AensName = `${string}.chain`;\n/**\n * The consensus minimum gas price as it was at the moment of the SDK release.\n * @category transaction builder\n * @deprecated a node may run another minimum gas price, and this constant is wrong on it. Use\n * `(await getCachedProtocolParameters(node)).minGasPrice` for the value the connected node\n * reports, or `defaultProtocolParameters.minGasPrice` for this one.\n */\nexport const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_FEE_MULTIPLIER = 1e14;\n/**\n * The next bid should be at least 5% bigger than the previous one\n * @category AENS\n * @deprecated use {@link computeBidFee} instead\n */\nexport const NAME_FEE_BID_INCREMENT = 0.05;\n/**\n * Approximately 1 day\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272}\n * @deprecated use {@link computeAuctionEndBlock} instead\n */\nexport const NAME_BID_TIMEOUT_BLOCKS = 480;\n/**\n * This is the max length for a domain that requires a base fee to be paid\n * @category AENS\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_MAX_LENGTH_FEE = 31;\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290}\n * @see {@link https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_BID_RANGES = mapObject(\n {\n 31: 3,\n 30: 5,\n 29: 8,\n 28: 13,\n 27: 21,\n 26: 34,\n 25: 55,\n 24: 89,\n 23: 144,\n 22: 233,\n 21: 377,\n 20: 610,\n 19: 987,\n 18: 1597,\n 17: 2584,\n 16: 4181,\n 15: 6765,\n 14: 10946,\n 13: 17711,\n 12: 28657,\n 11: 46368,\n 10: 75025,\n 9: 121393,\n 8: 196418,\n 7: 317811,\n 6: 514229,\n 5: 832040,\n 4: 1346269,\n 3: 2178309,\n 2: 3524578,\n 1: 5702887,\n },\n ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)],\n);\n\n/**\n * @category chain\n */\nexport enum ConsensusProtocolVersion {\n Ceres = 6,\n Arcus = 7,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n NoVm = 0,\n Sophia = 1,\n SophiaImprovementsMinerva = 3,\n SophiaImprovementsFortuna = 4,\n Fate = 5,\n SophiaImprovementsLima = 6,\n Fate2 = 7,\n Fate3 = 8,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n NoAbi = 0,\n Sophia = 1,\n Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n SignedTx = 11,\n SpendTx = 12,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n /**\n * @deprecated use `OracleRespondTx` instead\n */\n OracleResponseTx = 24,\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n OracleRespondTx = 24,\n OracleExtendTx = 25,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n ChannelDepositTx = 51,\n ChannelWithdrawTx = 52,\n ChannelForceProgressTx = 521,\n ChannelCloseMutualTx = 53,\n ChannelCloseSoloTx = 54,\n ChannelSlashTx = 55,\n ChannelSettleTx = 56,\n ChannelOffChainTx = 57,\n ChannelSnapshotSoloTx = 59,\n GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { Encoding } from '../../../utils/encoder.js';
|
|
|
2
2
|
import { packRecord, unpackRecord } from '../common.js';
|
|
3
3
|
import { schemas } from './schema.js';
|
|
4
4
|
import { EntryTag } from './constants.js';
|
|
5
|
+
import { checkParametersUsable } from '../protocol-parameters.js';
|
|
5
6
|
const encodingTag = [[EntryTag.CallsMtree, Encoding.CallStateTree], [EntryTag.StateTrees, Encoding.StateTrees], [EntryTag.TreesPoi, Encoding.Poi]];
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -13,6 +14,11 @@ const encodingTag = [[EntryTag.CallsMtree, Encoding.CallStateTree], [EntryTag.St
|
|
|
13
14
|
|
|
14
15
|
export function packEntry(params) {
|
|
15
16
|
var _encodingTag$find$;
|
|
17
|
+
// `GaMetaTxAuthData` holds a `gasPrice` priced by them, see the note in `buildTx`
|
|
18
|
+
const {
|
|
19
|
+
protocolParameters
|
|
20
|
+
} = params;
|
|
21
|
+
if (protocolParameters != null) checkParametersUsable(protocolParameters);
|
|
16
22
|
const encoding = (_encodingTag$find$ = encodingTag.find(([tag]) => tag === params.tag)?.[1]) !== null && _encodingTag$find$ !== void 0 ? _encodingTag$find$ : Encoding.Bytearray;
|
|
17
23
|
return packRecord(schemas, EntryTag, params, {
|
|
18
24
|
packEntry
|