@algorandfoundation/algokit-utils 7.0.0-beta.5 → 7.0.0-beta.6
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/README.md +2 -24
- package/account/account.d.ts +1 -2
- package/account/account.js.map +1 -1
- package/account/account.mjs.map +1 -1
- package/account/get-account-config-from-environment.d.ts +0 -1
- package/account/get-account-config-from-environment.js.map +1 -1
- package/account/get-account-config-from-environment.mjs.map +1 -1
- package/account/get-account.d.ts +0 -1
- package/account/get-account.js.map +1 -1
- package/account/get-account.mjs.map +1 -1
- package/account/get-dispenser-account.d.ts +0 -1
- package/account/get-dispenser-account.js.map +1 -1
- package/account/get-dispenser-account.mjs.map +1 -1
- package/account/index.d.ts +0 -1
- package/account/mnemonic-account.d.ts +0 -1
- package/account/mnemonic-account.js.map +1 -1
- package/account/mnemonic-account.mjs.map +1 -1
- package/amount.d.ts +0 -1
- package/amount.js.map +1 -1
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +0 -1
- package/app-client.js.map +1 -1
- package/app-client.mjs.map +1 -1
- package/app-deploy.d.ts +0 -1
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +0 -1
- package/app.js.map +1 -1
- package/app.mjs.map +1 -1
- package/asset.d.ts +0 -1
- package/asset.js.map +1 -1
- package/asset.mjs.map +1 -1
- package/config.d.ts +0 -1
- package/config.js.map +1 -1
- package/config.mjs.map +1 -1
- package/debugging/debugging.d.ts +3 -5
- package/debugging/debugging.js +4 -127
- package/debugging/debugging.js.map +1 -1
- package/debugging/debugging.mjs +4 -108
- package/debugging/debugging.mjs.map +1 -1
- package/debugging/index.d.ts +0 -2
- package/dispenser-client.d.ts +0 -1
- package/dispenser-client.js.map +1 -1
- package/dispenser-client.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +6 -2
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/indexer-lookup.d.ts +0 -1
- package/indexer-lookup.js.map +1 -1
- package/indexer-lookup.mjs.map +1 -1
- package/localnet/get-kmd-wallet-account.d.ts +0 -1
- package/localnet/get-kmd-wallet-account.js.map +1 -1
- package/localnet/get-kmd-wallet-account.mjs.map +1 -1
- package/localnet/get-localnet-dispenser-account.d.ts +0 -1
- package/localnet/get-localnet-dispenser-account.js.map +1 -1
- package/localnet/get-localnet-dispenser-account.mjs.map +1 -1
- package/localnet/get-or-create-kmd-wallet-account.d.ts +0 -1
- package/localnet/get-or-create-kmd-wallet-account.js.map +1 -1
- package/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -1
- package/localnet/index.d.ts +0 -1
- package/localnet/is-localnet.d.ts +0 -1
- package/localnet/is-localnet.js.map +1 -1
- package/localnet/is-localnet.mjs.map +1 -1
- package/network-client.d.ts +0 -1
- package/network-client.js.map +1 -1
- package/network-client.mjs.map +1 -1
- package/package.json +1 -1
- package/testing/_asset.d.ts +0 -1
- package/testing/account.d.ts +0 -1
- package/testing/account.js.map +1 -1
- package/testing/account.mjs.map +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
- package/testing/fixtures/algorand-fixture.d.ts +0 -1
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/testing/fixtures/index.d.ts +0 -1
- package/testing/index.d.ts +0 -1
- package/testing/indexer.d.ts +0 -1
- package/testing/indexer.js.map +1 -1
- package/testing/indexer.mjs.map +1 -1
- package/testing/test-logger.d.ts +0 -1
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs.map +1 -1
- package/testing/transaction-logger.d.ts +0 -1
- package/testing/transaction-logger.js.map +1 -1
- package/testing/transaction-logger.mjs.map +1 -1
- package/transaction/index.d.ts +0 -1
- package/transaction/legacy-bridge.d.ts +0 -1
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -1
- package/transaction/transaction.d.ts +0 -1
- package/transaction/transaction.js +9 -20
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +9 -20
- package/transaction/transaction.mjs.map +1 -1
- package/transfer/index.d.ts +0 -1
- package/transfer/transfer-algos.d.ts +0 -1
- package/transfer/transfer-algos.js.map +1 -1
- package/transfer/transfer-algos.mjs.map +1 -1
- package/transfer/transfer.d.ts +0 -1
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +0 -1
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +0 -1
- package/types/account.js.map +1 -1
- package/types/account.mjs.map +1 -1
- package/types/algo-http-client-with-retry.d.ts +0 -1
- package/types/algo-http-client-with-retry.js.map +1 -1
- package/types/algo-http-client-with-retry.mjs.map +1 -1
- package/types/algorand-client-interface.d.ts +0 -1
- package/types/algorand-client-transaction-creator.d.ts +0 -1
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +1 -2
- package/types/algorand-client-transaction-sender.js +1 -1
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +1 -1
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +0 -1
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +0 -1
- package/types/amount.js.map +1 -1
- package/types/amount.mjs.map +1 -1
- package/types/app-arc56.d.ts +0 -1
- package/types/app-arc56.js.map +1 -1
- package/types/app-arc56.mjs.map +1 -1
- package/types/app-client.d.ts +4 -2
- package/types/app-client.js +9 -17
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +9 -17
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +0 -1
- package/types/app-deployer.js.map +1 -1
- package/types/app-deployer.mjs.map +1 -1
- package/types/app-factory.d.ts +0 -1
- package/types/app-factory.js.map +1 -1
- package/types/app-factory.mjs.map +1 -1
- package/types/app-manager.d.ts +0 -1
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.d.ts +0 -1
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +0 -1
- package/types/app.js.map +1 -1
- package/types/app.mjs.map +1 -1
- package/types/asset-manager.d.ts +0 -1
- package/types/asset-manager.js +1 -1
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +1 -1
- package/types/asset-manager.mjs.map +1 -1
- package/types/asset.d.ts +0 -1
- package/types/async-event-emitter.d.ts +23 -0
- package/types/async-event-emitter.js +55 -0
- package/types/async-event-emitter.js.map +1 -0
- package/types/async-event-emitter.mjs +53 -0
- package/types/async-event-emitter.mjs.map +1 -0
- package/types/client-manager.d.ts +0 -1
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +28 -1
- package/types/composer.js +6 -7
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +6 -7
- package/types/composer.mjs.map +1 -1
- package/types/config.d.ts +3 -6
- package/types/config.js +5 -44
- package/types/config.js.map +1 -1
- package/types/config.mjs +5 -27
- package/types/config.mjs.map +1 -1
- package/types/debugging.d.ts +29 -102
- package/types/debugging.js +16 -109
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs +12 -107
- package/types/debugging.mjs.map +1 -1
- package/types/dispenser-client.d.ts +0 -1
- package/types/dispenser-client.js +5 -4
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +5 -4
- package/types/dispenser-client.mjs.map +1 -1
- package/types/expand.d.ts +0 -1
- package/types/indexer.d.ts +0 -1
- package/types/indexer.js.map +1 -1
- package/types/indexer.mjs.map +1 -1
- package/types/kmd-account-manager.d.ts +0 -1
- package/types/kmd-account-manager.js +1 -1
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +1 -1
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/logging.d.ts +0 -1
- package/types/logging.js.map +1 -1
- package/types/logging.mjs.map +1 -1
- package/types/logic-error.d.ts +0 -1
- package/types/logic-error.js.map +1 -1
- package/types/logic-error.mjs.map +1 -1
- package/types/network-client.d.ts +0 -1
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +0 -1
- package/types/transaction.d.ts +0 -1
- package/types/transfer.d.ts +0 -1
- package/types/urlTokenBaseHTTPClient.d.ts +0 -1
- package/types/urlTokenBaseHTTPClient.js +1 -1
- package/types/urlTokenBaseHTTPClient.js.map +1 -1
- package/types/urlTokenBaseHTTPClient.mjs +1 -1
- package/types/urlTokenBaseHTTPClient.mjs.map +1 -1
- package/util.d.ts +0 -1
- package/util.js +0 -9
- package/util.js.map +1 -1
- package/util.mjs +1 -9
- package/util.mjs.map +1 -1
- package/account/account.d.ts.map +0 -1
- package/account/get-account-config-from-environment.d.ts.map +0 -1
- package/account/get-account.d.ts.map +0 -1
- package/account/get-dispenser-account.d.ts.map +0 -1
- package/account/index.d.ts.map +0 -1
- package/account/mnemonic-account.d.ts.map +0 -1
- package/amount.d.ts.map +0 -1
- package/app-client.d.ts.map +0 -1
- package/app-deploy.d.ts.map +0 -1
- package/app.d.ts.map +0 -1
- package/asset.d.ts.map +0 -1
- package/config.d.ts.map +0 -1
- package/debugging/debugging.d.ts.map +0 -1
- package/debugging/index.d.ts.map +0 -1
- package/debugging/simulate-and-persist-response.d.ts +0 -20
- package/debugging/simulate-and-persist-response.d.ts.map +0 -1
- package/debugging/simulate-and-persist-response.js +0 -108
- package/debugging/simulate-and-persist-response.js.map +0 -1
- package/debugging/simulate-and-persist-response.mjs +0 -89
- package/debugging/simulate-and-persist-response.mjs.map +0 -1
- package/dispenser-client.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/indexer-lookup.d.ts.map +0 -1
- package/localnet/get-kmd-wallet-account.d.ts.map +0 -1
- package/localnet/get-localnet-dispenser-account.d.ts.map +0 -1
- package/localnet/get-or-create-kmd-wallet-account.d.ts.map +0 -1
- package/localnet/index.d.ts.map +0 -1
- package/localnet/is-localnet.d.ts.map +0 -1
- package/network-client.d.ts.map +0 -1
- package/testing/_asset.d.ts.map +0 -1
- package/testing/account.d.ts.map +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/testing/fixtures/algorand-fixture.d.ts.map +0 -1
- package/testing/fixtures/index.d.ts.map +0 -1
- package/testing/index.d.ts.map +0 -1
- package/testing/indexer.d.ts.map +0 -1
- package/testing/test-logger.d.ts.map +0 -1
- package/testing/transaction-logger.d.ts.map +0 -1
- package/transaction/index.d.ts.map +0 -1
- package/transaction/legacy-bridge.d.ts.map +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts.map +0 -1
- package/transaction/transaction.d.ts.map +0 -1
- package/transfer/index.d.ts.map +0 -1
- package/transfer/transfer-algos.d.ts.map +0 -1
- package/transfer/transfer.d.ts.map +0 -1
- package/types/account-manager.d.ts.map +0 -1
- package/types/account.d.ts.map +0 -1
- package/types/algo-http-client-with-retry.d.ts.map +0 -1
- package/types/algorand-client-interface.d.ts.map +0 -1
- package/types/algorand-client-transaction-creator.d.ts.map +0 -1
- package/types/algorand-client-transaction-sender.d.ts.map +0 -1
- package/types/algorand-client.d.ts.map +0 -1
- package/types/amount.d.ts.map +0 -1
- package/types/app-arc56.d.ts.map +0 -1
- package/types/app-client.d.ts.map +0 -1
- package/types/app-deployer.d.ts.map +0 -1
- package/types/app-factory.d.ts.map +0 -1
- package/types/app-manager.d.ts.map +0 -1
- package/types/app-spec.d.ts.map +0 -1
- package/types/app.d.ts.map +0 -1
- package/types/asset-manager.d.ts.map +0 -1
- package/types/asset.d.ts.map +0 -1
- package/types/client-manager.d.ts.map +0 -1
- package/types/composer.d.ts.map +0 -1
- package/types/config.d.ts.map +0 -1
- package/types/debugging.d.ts.map +0 -1
- package/types/dispenser-client.d.ts.map +0 -1
- package/types/expand.d.ts.map +0 -1
- package/types/indexer.d.ts.map +0 -1
- package/types/kmd-account-manager.d.ts.map +0 -1
- package/types/logging.d.ts.map +0 -1
- package/types/logic-error.d.ts.map +0 -1
- package/types/network-client.d.ts.map +0 -1
- package/types/testing.d.ts.map +0 -1
- package/types/transaction.d.ts.map +0 -1
- package/types/transfer.d.ts.map +0 -1
- package/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/util.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-deployer.mjs","sources":["../../src/types/app-deployer.ts"],"sourcesContent":[null],"names":["indexer.lookupAccountCreatedApplicationByAddress","indexer.searchTransactions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-deployer.mjs","sources":["../../src/types/app-deployer.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { Config } from '../config'\nimport * as indexer from '../indexer-lookup'\nimport { AlgorandClientTransactionSender } from './algorand-client-transaction-sender'\nimport {\n APP_DEPLOY_NOTE_DAPP,\n OnSchemaBreak,\n OnUpdate,\n type ABIReturn,\n type AppDeployMetadata,\n type SendAppCreateTransactionResult,\n type SendAppUpdateTransactionResult,\n type TealTemplateParams,\n} from './app'\nimport { AppManager } from './app-manager'\nimport AlgoKitComposer, {\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n} from './composer'\nimport { Expand } from './expand'\nimport { ConfirmedTransactionResult, ExecuteParams } from './transaction'\n\n/** Params to specify an update transaction for an app deployment */\nexport type DeployAppUpdateParams = Expand<Omit<AppUpdateParams, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify an update method call for an app deployment */\nexport type DeployAppUpdateMethodCall = Expand<Omit<AppUpdateMethodCall, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify a transaction for an app deployment */\nexport type DeployAppDeleteParams = Expand<Omit<AppDeleteParams, 'appId'>>\n/** Params to specify a delete method call for an app deployment */\nexport type DeployAppDeleteMethodCall = Expand<Omit<AppDeleteMethodCall, 'appId'>>\n\n/** The parameters to idempotently deploy an app */\nexport type AppDeployParams = Expand<\n ExecuteParams & {\n /** The deployment metadata */\n metadata: AppDeployMetadata\n /** Any deploy-time parameters to replace in the TEAL code before compiling it (used if teal code is passed in as a string) */\n deployTimeParams?: TealTemplateParams\n /** What action to perform if a schema break (storage schema or extra pages change) is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onSchemaBreak?: 'replace' | 'fail' | 'append' | OnSchemaBreak\n /** What action to perform if a TEAL code update is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `update` - Update the app with the new TEAL code\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onUpdate?: 'update' | 'replace' | 'fail' | 'append' | OnUpdate\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams: AppCreateParams | AppCreateMethodCall\n /** Update transaction parameters to use if an update needs to be issued as part of deployment */\n updateParams: DeployAppUpdateParams | DeployAppUpdateMethodCall\n /** Delete transaction parameters to use if a delete needs to be issued as part of deployment */\n deleteParams: DeployAppDeleteParams | DeployAppDeleteMethodCall\n /** Optional cached value of the existing apps for the given creator; use this to avoid an indexer lookup */\n existingDeployments?: AppLookup\n /** Whether or not to ignore the app metadata cache and force a lookup, default: use the cache **/\n ignoreCache?: boolean\n }\n>\n\n/** The metadata that can be collected about a deployed app */\nexport interface AppMetadata extends AppDeployMetadata {\n /** The id of the app */\n appId: bigint\n /** The Algorand address of the account associated with the app */\n appAddress: string\n /** The round the app was created */\n createdRound: bigint\n /** The last round that the app was updated */\n updatedRound: bigint\n /** The metadata when the app was created */\n createdMetadata: AppDeployMetadata\n /** Whether or not the app is deleted */\n deleted: boolean\n}\n\n/** A lookup of name -> Algorand app for a creator */\nexport interface AppLookup {\n /** The address of the creator associated with this lookup */\n creator: Readonly<string>\n /** A hash map of app name to app metadata */\n apps: {\n [name: string]: AppMetadata\n }\n}\n\nexport type AppDeployResult =\n | Expand<{ operationPerformed: 'create' } & Omit<AppMetadata, 'appId' | 'appAddress'> & SendAppCreateTransactionResult>\n | Expand<{ operationPerformed: 'update' } & AppMetadata & SendAppUpdateTransactionResult>\n | Expand<\n { operationPerformed: 'replace' } & Omit<AppMetadata, 'appId' | 'appAddress'> &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n >\n | Expand<{ operationPerformed: 'nothing' } & AppMetadata>\n\n/** Allows management of deployment and deployment metadata of applications. */\nexport class AppDeployer {\n private _appManager: AppManager\n private _transactionSender: AlgorandClientTransactionSender\n private _indexer?: algosdk.Indexer\n private _appLookups = new Map<string, AppLookup>()\n\n /**\n * Creates an `AppManager`\n * @param appManager An `AppManager` instance\n * @param transactionSender An `AlgorandClientTransactionSender` instance\n * @param indexer An optional indexer instance; supply if you want to indexer to look up app metadata\n */\n constructor(appManager: AppManager, transactionSender: AlgorandClientTransactionSender, indexer?: algosdk.Indexer) {\n this._appManager = appManager\n this._transactionSender = transactionSender\n this._indexer = indexer\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * To understand the architecture decisions behind this functionality please see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param deployment The arguments to control the app deployment\n * @returns The app reference of the new/existing app\n */\n async deploy(deployment: AppDeployParams): Promise<AppDeployResult> {\n const {\n metadata,\n deployTimeParams,\n onSchemaBreak,\n onUpdate,\n createParams,\n updateParams,\n deleteParams,\n existingDeployments,\n ignoreCache,\n ...executeParams\n } = deployment\n\n // Set creation note\n\n createParams.note = updateParams.note = AlgoKitComposer.arc2Note({\n dAppName: APP_DEPLOY_NOTE_DAPP,\n data: metadata,\n format: 'j',\n })\n\n // Check for required fields\n\n if (existingDeployments && existingDeployments.creator !== createParams.sender) {\n throw new Error(\n `Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${createParams.sender}`,\n )\n }\n if (!existingDeployments && !this._indexer) {\n throw new Error(\n `Didn't receive an indexer client when this AppManager was created, but also didn't receive an existingDeployments cache - one of them must be provided`,\n )\n }\n\n Config.getLogger(executeParams?.suppressLog).info(\n `Idempotently deploying app \"${metadata.name}\" from creator ${createParams.sender} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'}`,\n )\n\n // Compile code if required\n\n const compiledApproval =\n typeof createParams.approvalProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.approvalProgram, deployTimeParams, metadata)\n : undefined\n const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : createParams.approvalProgram\n\n const compiledClear =\n typeof createParams.clearStateProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.clearStateProgram, deployTimeParams)\n : undefined\n const clearStateProgram = compiledClear ? compiledClear.compiledBase64ToBytes : createParams.clearStateProgram\n\n // Define routines for create, update, and replace\n\n const createApp = async () => {\n const result = await ('method' in createParams\n ? this._transactionSender.appCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram, ...executeParams })\n : this._transactionSender.appCreate({ ...createParams, approvalProgram, clearStateProgram, ...executeParams }))\n const appMetadata: AppMetadata = {\n appId: result.appId,\n appAddress: result.appAddress,\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(result.confirmation.confirmedRound!),\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'create',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppCreateTransactionResult & AppMetadata & { operationPerformed: 'create' }\n }\n const updateApp = async (existingApp: AppMetadata) => {\n Config.getLogger(executeParams?.suppressLog).info(\n `Updating existing ${metadata.name} app for ${createParams.sender} to version ${metadata.version}.`,\n )\n const result = await ('method' in updateParams\n ? this._transactionSender.appUpdateMethodCall({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...executeParams,\n })\n : this._transactionSender.appUpdate({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...executeParams,\n }))\n const appMetadata: AppMetadata = {\n appId: existingApp.appId,\n appAddress: existingApp.appAddress,\n createdMetadata: existingApp.createdMetadata,\n createdRound: existingApp.createdRound,\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n ...metadata,\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'update',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppUpdateTransactionResult & AppMetadata & { operationPerformed: 'update' }\n }\n const replaceApp = async (existingApp: AppMetadata) => {\n Config.getLogger(executeParams?.suppressLog).info(\n `Deploying a new ${metadata.name} app for ${createParams.sender}; deploying app with version ${metadata.version}.`,\n )\n\n Config.getLogger(executeParams?.suppressLog).warn(\n `Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${deleteParams.sender} account.`,\n )\n\n const composer = this._transactionSender.newGroup()\n if ('method' in createParams) {\n composer.addAppCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram })\n } else {\n composer.addAppCreate({ ...createParams, approvalProgram, clearStateProgram })\n }\n const createIndex = await composer.count()\n if ('method' in deleteParams) {\n composer.addAppDeleteMethodCall({ appId: existingApp.appId, ...deleteParams })\n } else {\n composer.addAppDelete({ appId: existingApp.appId, ...deleteParams })\n }\n const result = await composer.execute({ ...executeParams, suppressLog: true })\n const confirmation = result.confirmations.at(createIndex - 1)!\n const transaction = result.transactions.at(createIndex - 1)!\n const deleteTransaction = result.transactions.at(-1)!\n\n Config.getLogger(executeParams?.suppressLog).warn(\n `Sent transactions ${transaction.txID()} to create app with id ${confirmation.applicationIndex} and ${deleteTransaction.txID()} to delete app with id ${\n existingApp.appId\n } from ${createParams.sender} account.`,\n )\n\n const appMetadata: AppMetadata = {\n appId: BigInt(confirmation.applicationIndex!),\n appAddress: algosdk.getApplicationAddress(confirmation.applicationIndex!),\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(confirmation.confirmedRound!),\n updatedRound: BigInt(confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n\n return {\n operationPerformed: 'replace',\n ...result,\n compiledApproval,\n compiledClear,\n transaction,\n confirmation,\n return: 'method' in createParams ? result.returns?.[0] : undefined,\n deleteReturn: 'method' in deleteParams ? result.returns?.at(-1) : undefined,\n ...appMetadata,\n deleteResult: { transaction: deleteTransaction, confirmation: result.confirmations.at(-1)! },\n } satisfies { operationPerformed: 'replace' } & AppMetadata &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n }\n\n // Lookup existing app metadata\n\n const apps = existingDeployments ?? (await this.getCreatorAppsByName(createParams.sender, ignoreCache))\n\n const existingApp = apps.apps[metadata.name]\n if (!existingApp || existingApp.deleted) {\n Config.getLogger(executeParams?.suppressLog).info(\n `App ${metadata.name} not found in apps created by ${createParams.sender}; deploying app with version ${metadata.version}.`,\n )\n\n return await createApp()\n }\n\n Config.getLogger(executeParams?.suppressLog).info(\n `Existing app ${metadata.name} found by creator ${createParams.sender}, with app id ${existingApp.appId} and version ${existingApp.version}.`,\n )\n\n const existingAppRecord = await this._appManager.getById(existingApp.appId)\n const existingApproval = Buffer.from(existingAppRecord.approvalProgram).toString('base64')\n const existingClear = Buffer.from(existingAppRecord.clearStateProgram).toString('base64')\n\n const newApproval = Buffer.from(approvalProgram).toString('base64')\n const newClear = Buffer.from(clearStateProgram).toString('base64')\n\n // Check for changes\n\n const isUpdate = newApproval !== existingApproval || newClear !== existingClear\n const isSchemaBreak =\n existingAppRecord.localInts < (createParams.schema?.localInts ?? 0) ||\n existingAppRecord.globalInts < (createParams.schema?.globalInts ?? 0) ||\n existingAppRecord.localByteSlices < (createParams.schema?.localByteSlices ?? 0) ||\n existingAppRecord.globalByteSlices < (createParams.schema?.globalByteSlices ?? 0)\n\n if (isSchemaBreak) {\n Config.getLogger(executeParams?.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appId}:`, {\n from: {\n globalInts: existingAppRecord.globalInts,\n globalByteSlices: existingAppRecord.globalByteSlices,\n localInts: existingAppRecord.localInts,\n localByteSlices: existingAppRecord.localByteSlices,\n },\n to: createParams.schema,\n })\n\n if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === OnSchemaBreak.Fail) {\n throw new Error(\n 'Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. ' +\n 'If you want to try deleting and recreating the app then ' +\n 're-run with onSchemaBreak=OnSchemaBreak.ReplaceApp',\n )\n }\n\n if (onSchemaBreak === 'append' || onSchemaBreak === OnSchemaBreak.AppendApp) {\n Config.getLogger(executeParams?.suppressLog).info('onSchemaBreak=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (existingApp.deletable) {\n Config.getLogger(executeParams?.suppressLog).info(\n 'App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app',\n )\n } else {\n Config.getLogger(executeParams?.suppressLog).info(\n 'App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n\n if (isUpdate) {\n Config.getLogger(executeParams?.suppressLog).info(\n `Detected a TEAL update in app ${existingApp.appId} for creator ${createParams.sender}`,\n )\n\n if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === OnUpdate.Fail) {\n throw new Error('Update detected and onUpdate=Fail, stopping deployment. Try a different onUpdate value to not fail.')\n }\n\n if (onUpdate === 'append' || onUpdate === OnUpdate.AppendApp) {\n Config.getLogger(executeParams?.suppressLog).info('onUpdate=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (onUpdate === 'update' || onUpdate === OnUpdate.UpdateApp) {\n if (existingApp.updatable) {\n Config.getLogger(executeParams?.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`)\n } else {\n Config.getLogger(executeParams?.suppressLog).warn(\n `App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`,\n )\n }\n\n return await updateApp(existingApp)\n }\n\n if (onUpdate === 'replace' || onUpdate === OnUpdate.ReplaceApp) {\n if (existingApp.deletable) {\n Config.getLogger(executeParams?.suppressLog).warn(\n 'App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...',\n )\n } else {\n Config.getLogger(executeParams?.suppressLog).warn(\n 'App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n }\n\n Config.getLogger(executeParams?.suppressLog).debug('No detected changes in app, nothing to do.')\n\n return { ...existingApp, operationPerformed: 'nothing' }\n }\n\n private updateAppLookup(sender: string, appMetadata: AppMetadata) {\n const lookup = this._appLookups.get(sender)\n if (!lookup) {\n this._appLookups.set(sender, { creator: sender, apps: { [appMetadata.name]: appMetadata } })\n } else {\n lookup.apps[appMetadata.name] = appMetadata\n }\n }\n\n /**\n * Returns a lookup of name => app metadata (id, address, ...metadata) for all apps created by the given account that have\n * an [ARC-2](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md) `AppDeployNote` as the transaction\n * note of the app creation transaction.\n *\n * This function caches the result for the given creator account so that subsequent calls will not require an indexer lookup.\n *\n * If the `AppManager` instance wasn't created with an indexer client, this function will throw an error.\n *\n * @param creatorAddress The address of the account that is the creator of the apps you want to search for\n * @param ignoreCache Whether or not to ignore the cache and force a lookup, default: use the cache\n * @returns A name-based lookup of the app metadata\n */\n async getCreatorAppsByName(creatorAddress: string, ignoreCache?: boolean): Promise<AppLookup> {\n const appLookup: Record<string, AppMetadata> = {}\n\n if (!ignoreCache && this._appLookups.has(creatorAddress)) {\n return this._appLookups.get(creatorAddress)!\n }\n\n if (!this._indexer) {\n throw new Error(`Didn't receive an indexer client when this AppManager was created, but received a call to getCreatorApps`)\n }\n\n // Extract all apps that account created\n const createdApps = (await indexer.lookupAccountCreatedApplicationByAddress(this._indexer, creatorAddress))\n .map((a) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return { id: BigInt(a.id), createdAtRound: a['created-at-round']!, deleted: a.deleted }\n })\n .sort((a, b) => a.createdAtRound - b.createdAtRound)\n\n // For each app that account created (in parallel)...\n const apps = await Promise.all(\n createdApps.map(async (createdApp) => {\n // Find any app transactions for that app in the round it was created (should always just be a single creation transaction)\n const appTransactions = await indexer.searchTransactions(this._indexer!, (s) =>\n s\n .minRound(createdApp.createdAtRound)\n .txType(algosdk.TransactionType.appl)\n .applicationID(Number(createdApp.id))\n .address(creatorAddress)\n .addressRole('sender')\n .notePrefix(Buffer.from(APP_DEPLOY_NOTE_DAPP).toString('base64')),\n )\n\n // Triple check the transaction is intact by filtering for the one we want:\n // * application-id is 0 when the app is first created\n // * also verify the sender to prevent a potential security risk\n const appCreationTransaction = appTransactions.transactions.filter(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n (t) => t['application-transaction']!['application-id'] === 0 && t.sender === creatorAddress,\n )[0]\n\n const latestAppUpdateTransaction = appTransactions.transactions\n .filter((t) => t.sender === creatorAddress)\n .sort((a, b) =>\n a['confirmed-round'] === b['confirmed-round']\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n (b['intra-round-offset']! - a['intra-round-offset']!) / 10\n : // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n b['confirmed-round']! - a['confirmed-round']!,\n )[0]\n\n if (!appCreationTransaction?.note)\n // No note; ignoring\n return null\n\n return { createdApp, appCreationTransaction, latestAppUpdateTransaction }\n }),\n )\n\n apps\n .filter((a) => a !== null)\n .forEach((a) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { createdApp, appCreationTransaction, latestAppUpdateTransaction } = a!\n\n const parseNote = (note?: string) => {\n if (!note) {\n // No note; ignoring...\n return\n }\n\n const decoder = new TextDecoder()\n const noteAsBase64 = decoder.decode(Buffer.from(note))\n const noteAsString = Buffer.from(noteAsBase64, 'base64').toString('utf-8')\n\n if (!noteAsString.startsWith(`${APP_DEPLOY_NOTE_DAPP}:j{`))\n // Clearly not APP_DEPLOY JSON; ignoring...\n return\n\n return JSON.parse(noteAsString.substring(APP_DEPLOY_NOTE_DAPP.length + 2)) as AppDeployMetadata\n }\n\n try {\n const creationNote = parseNote(appCreationTransaction.note)\n const updateNote = parseNote(latestAppUpdateTransaction.note)\n if (creationNote?.name) {\n appLookup[creationNote.name] = {\n appId: createdApp.id,\n appAddress: algosdk.getApplicationAddress(createdApp.id),\n createdMetadata: creationNote,\n createdRound: BigInt(appCreationTransaction['confirmed-round'] ?? 0),\n ...(updateNote ?? creationNote),\n updatedRound: BigInt(latestAppUpdateTransaction?.['confirmed-round'] ?? 0),\n deleted: createdApp.deleted ?? false,\n }\n }\n } catch (e) {\n Config.logger.warn(\n `Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`,\n e,\n )\n return\n }\n })\n\n const lookup = {\n creator: creatorAddress,\n apps: appLookup,\n }\n\n this._appLookups.set(creatorAddress, lookup)\n\n return lookup\n }\n}\n"],"names":["indexer.lookupAccountCreatedApplicationByAddress","indexer.searchTransactions"],"mappings":"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"}
|
package/types/app-factory.d.ts
CHANGED
|
@@ -964,4 +964,3 @@ export declare class AppFactory {
|
|
|
964
964
|
*/
|
|
965
965
|
parseMethodCallReturn<TReturn extends Uint8Array | ABIValue | ABIStruct | undefined, TResult extends SendAppTransactionResult = SendAppTransactionResult>(result: Promise<TResult> | TResult, method: Arc56Method): Promise<Expand<Omit<TResult, 'return'> & AppReturn<TReturn>>>;
|
|
966
966
|
}
|
|
967
|
-
//# sourceMappingURL=app-factory.d.ts.map
|
package/types/app-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-factory.js","sources":["../../src/types/app-factory.ts"],"sourcesContent":[null],"names":["AppClient","getArc56Method","getArc56ReturnValue","UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-factory.js","sources":["../../src/types/app-factory.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientInterface } from './algorand-client-interface'\nimport {\n AppCompilationResult,\n AppReturn,\n DELETABLE_TEMPLATE_NAME,\n SendAppTransactionResult,\n TealTemplateParams,\n UPDATABLE_TEMPLATE_NAME,\n} from './app'\nimport { ABIStruct, Arc56Contract, Arc56Method, getArc56Method, getArc56ReturnValue } from './app-arc56'\nimport {\n AppClient,\n AppClientBareCallParams,\n AppClientCompilationParams,\n AppClientMethodCallParams,\n AppClientParams,\n AppSourceMaps,\n ResolveAppClientByCreatorAndName,\n} from './app-client'\nimport {\n AppDeployParams,\n DeployAppDeleteMethodCall,\n DeployAppDeleteParams,\n DeployAppUpdateMethodCall,\n DeployAppUpdateParams,\n} from './app-deployer'\nimport { AppSpec } from './app-spec'\nimport { AppCreateMethodCall, AppCreateParams } from './composer'\nimport { Expand } from './expand'\nimport { ExecuteParams } from './transaction'\nimport SourceMap = algosdk.SourceMap\nimport OnApplicationComplete = algosdk.OnApplicationComplete\nimport ABIValue = algosdk.ABIValue\n\n/** Parameters to create an app client */\nexport interface AppFactoryParams {\n /** The ARC-56 or ARC-32 application spec as either:\n * * Parsed JSON ARC-56 `Contract`\n * * Parsed JSON ARC-32 `AppSpec`\n * * Raw JSON string (in either ARC-56 or ARC-32 format)\n */\n appSpec: Arc56Contract | AppSpec | string\n\n /** `AlgorandClient` instance */\n algorand: AlgorandClientInterface\n\n /**\n * Optional override for the app name; used for on-chain metadata and lookups.\n * Defaults to the ARC-32/ARC-56 app spec name.\n */\n appName?: string\n\n /** Optional address to use for the account to use as the default sender for calls. */\n defaultSender?: string\n\n /** The version of app that is / will be deployed; defaults to 1.0 */\n version?: string\n\n /**\n * Whether or not the contract should have deploy-time immutability control set, undefined = ignore.\n * If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.\n *\n * Useful if you want to vend multiple contracts from the same factory without specifying this value\n * for each call.\n */\n updatable?: boolean\n\n /**\n * Whether or not the contract should have deploy-time permanence control set, undefined = ignore.\n * If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.\n *\n * Useful if you want to vend multiple contracts from the same factory without specifying this value\n * for each call.\n */\n deletable?: boolean\n\n /**\n * Optional deploy-time TEAL template replacement parameters.\n * If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.\n *\n * Useful if you want to vend multiple contracts from the same factory without specifying this value\n * for each call.\n */\n deployTimeParams?: TealTemplateParams\n}\n\n/** onComplete parameter for a create app call */\nexport type CreateOnComplete = {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearStateOC>\n}\n\n/** Specifies a schema used for creating an app */\nexport type CreateSchema = {\n /** The state schema for the app. This is immutable once the app is created. By default uses the ARC32/ARC-56 spec. */\n schema?: {\n /** The number of integers saved in global state. */\n globalInts: number\n /** The number of byte slices saved in global state. */\n globalByteSlices: number\n /** The number of integers saved in local state. */\n localInts: number\n /** The number of byte slices saved in local state. */\n localByteSlices: number\n }\n /** Number of extra pages required for the programs.\n * Defaults to the number needed for the programs in this call if not specified.\n * This is immutable once the app is created. */\n extraProgramPages?: number\n}\n\n/** Parameters to define a create call for an `AppFactory` */\nexport type AppFactoryCreateParams =\n | Expand<AppClientMethodCallParams & AppClientCompilationParams & CreateOnComplete & ExecuteParams & CreateSchema>\n | Expand<AppClientBareCallParams & AppClientCompilationParams & CreateOnComplete & ExecuteParams & CreateSchema>\n\n/** Parameters to define a deployment for an `AppFactory` */\nexport type AppFactoryDeployParams = Expand<\n Omit<AppDeployParams, 'createParams' | 'updateParams' | 'deleteParams' | 'metadata'> & {\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams?:\n | Expand<AppClientMethodCallParams & CreateOnComplete & CreateSchema>\n | Expand<AppClientBareCallParams & CreateOnComplete & CreateSchema>\n /** Update transaction parameters to use if a create needs to be issued as part of deployment */\n updateParams?: AppClientMethodCallParams | AppClientBareCallParams\n /** Delete transaction parameters to use if a create needs to be issued as part of deployment */\n deleteParams?: AppClientMethodCallParams | AppClientBareCallParams\n /**\n * Whether or not the contract should have deploy-time immutability control set.\n * `undefined` = use AppFactory constructor value if set or base it on the app spec.\n */\n updatable?: boolean\n /**\n * Whether or not the contract should have deploy-time permanence control set.\n * `undefined` = use AppFactory constructor value if set or base it on the app spec.\n */\n deletable?: boolean\n }\n>\n\n/**\n * ARC-56/ARC-32 app factory that, for a given app spec, allows you to create\n * and deploy one or more app instances and to create one or more app clients\n * to interact with those (or other) app instances.\n */\nexport class AppFactory {\n private _appSpec: Arc56Contract\n private _appName: string\n private _algorand: AlgorandClientInterface\n private _version: string\n private _defaultSender?: string\n private _deployTimeParams?: TealTemplateParams\n private _updatable?: boolean\n private _deletable?: boolean\n\n private _approvalSourceMap: SourceMap | undefined\n private _clearSourceMap: SourceMap | undefined\n\n private _paramsMethods: ReturnType<AppFactory['getParamsMethods']>\n\n constructor(params: AppFactoryParams) {\n this._appSpec = AppClient.normaliseAppSpec(params.appSpec)\n this._appName = params.appName ?? this._appSpec.name\n this._algorand = params.algorand\n this._version = params.version ?? '1.0'\n this._defaultSender = params.defaultSender\n this._deployTimeParams = params.deployTimeParams\n this._updatable = params.updatable\n this._deletable = params.deletable\n this._paramsMethods = this.getParamsMethods()\n }\n\n /** Get parameters to define create and deploy related calls to the current app */\n get params() {\n return this._paramsMethods\n }\n\n /**\n * Creates an instance of the app and returns the result of the creation\n * transaction and an app client to interact with that app instance.\n *\n * Performs deploy-time TEAL template placeholder substitutions (if specified).\n * @param params The parameters to create the app\n * @returns The app client and the result of the creation transaction\n */\n public async create(params?: AppFactoryCreateParams) {\n const updatable = params?.updatable ?? this._updatable\n const deletable = params?.deletable ?? this._deletable\n const deployTimeParams = params?.deployTimeParams ?? this._deployTimeParams\n const compiled = await this.compile({ deployTimeParams, updatable, deletable })\n const result = await this.handleCallErrors(async () =>\n params && 'method' in params\n ? this.parseMethodCallReturn(\n this._algorand.send.appCreateMethodCall(await this.params.create({ ...params, updatable, deletable, deployTimeParams })),\n getArc56Method(params.method, this._appSpec),\n )\n : {\n ...(await this._algorand.send.appCreate(await this.params.bare.create({ ...params, updatable, deletable, deployTimeParams }))),\n return: undefined,\n },\n )\n return {\n app: this.getAppClientById({\n appId: result.appId,\n }),\n result: {\n ...result,\n ...(compiled as Partial<AppCompilationResult>),\n },\n }\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param params The arguments to control the app deployment\n * @returns The app client and the result of the deployment\n */\n public async deploy(params: AppFactoryDeployParams) {\n const updatable = params.updatable ?? this._updatable ?? this.getDeployTimeControl('updatable')\n const deletable = params.deletable ?? this._deletable ?? this.getDeployTimeControl('deletable')\n const deployTimeParams = params.deployTimeParams ?? this._deployTimeParams\n const compiled = await this.compile({ deployTimeParams, updatable, deletable })\n const deployResult = await this._algorand.appDeployer.deploy({\n ...params,\n createParams: await (params.createParams && 'method' in params.createParams\n ? this.params.create({ ...params.createParams, updatable, deletable, deployTimeParams })\n : this.params.bare.create({ ...params.createParams, updatable, deletable, deployTimeParams })),\n updateParams:\n params.updateParams && 'method' in params.updateParams\n ? this.params.deployUpdate(params.updateParams)\n : this.params.bare.deployUpdate(params.updateParams),\n deleteParams:\n params.deleteParams && 'method' in params.deleteParams\n ? this.params.deployDelete(params.deleteParams)\n : this.params.bare.deployDelete(params.deleteParams),\n metadata: {\n name: this._appName,\n version: this._version,\n updatable,\n deletable,\n },\n })\n const app = this.getAppClientById({\n appId: deployResult.appId,\n })\n const result = {\n ...deployResult,\n ...compiled,\n }\n return {\n app,\n result: {\n ...result,\n return:\n 'return' in result\n ? result.operationPerformed === 'update'\n ? params.updateParams && 'method' in params.updateParams\n ? getArc56ReturnValue(result.return, getArc56Method(params.updateParams.method, this._appSpec), this._appSpec.structs)\n : undefined\n : params.createParams && 'method' in params.createParams\n ? getArc56ReturnValue(result.return, getArc56Method(params.createParams.method, this._appSpec), this._appSpec.structs)\n : undefined\n : undefined,\n deleteReturn:\n 'deleteReturn' in result && params.deleteParams && 'method' in params.deleteParams\n ? getArc56ReturnValue(result.deleteReturn, getArc56Method(params.deleteParams.method, this._appSpec), this._appSpec.structs)\n : undefined,\n },\n }\n }\n\n /**\n * Returns a new `AppClient` client for an app instance of the given ID.\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public getAppClientById(params: Expand<Omit<AppClientParams, 'algorand' | 'appSpec'>>) {\n return new AppClient({\n ...params,\n algorand: this._algorand,\n appSpec: this._appSpec,\n appName: params.appName ?? this._appName,\n defaultSender: params.defaultSender ?? this._defaultSender,\n approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,\n clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,\n })\n }\n\n /**\n * Returns a new `AppClient` client, resolving the app by creator address and name\n * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public getAppClientByCreatorAddressAndName(\n params: Expand<Omit<AppClientParams, 'algorand' | 'appSpec' | 'appId'> & ResolveAppClientByCreatorAndName>,\n ) {\n return AppClient.fromCreatorAndName({\n ...params,\n algorand: this._algorand,\n appSpec: this._appSpec,\n appName: params.appName ?? this._appName,\n defaultSender: params.defaultSender ?? this._defaultSender,\n approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,\n clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,\n })\n }\n\n /**\n * Takes an error that may include a logic error from a call to the current app and re-exposes the\n * error to include source code information via the source map and ARC-56 spec.\n * @param e The error to parse\n * @param isClearStateProgram Whether or not the code was running the clear state program (defaults to approval program)\n * @returns The new error, or if there was no logic error or source map then the wrapped error with source details\n */\n exposeLogicError(e: Error, isClearStateProgram?: boolean): Error {\n return AppClient.exposeLogicError(e, this._appSpec, {\n isClearStateProgram,\n approvalSourceMap: this._approvalSourceMap,\n clearSourceMap: this._clearSourceMap,\n })\n }\n\n /**\n * Export the current source maps for the app.\n * @returns The source maps\n */\n exportSourceMaps(): AppSourceMaps {\n if (!this._approvalSourceMap || !this._clearSourceMap) {\n throw new Error(\n \"Unable to export source maps; they haven't been loaded into this client - you need to call create, update, or deploy first\",\n )\n }\n\n return {\n approvalSourceMap: this._approvalSourceMap,\n clearSourceMap: this._clearSourceMap,\n }\n }\n\n /**\n * Import source maps for the app.\n * @param sourceMaps The source maps to import\n */\n importSourceMaps(sourceMaps: AppSourceMaps) {\n this._approvalSourceMap = new SourceMap(sourceMaps.approvalSourceMap)\n this._clearSourceMap = new SourceMap(sourceMaps.clearSourceMap)\n }\n\n private getDeployTimeControl(control: 'updatable' | 'deletable'): boolean | undefined {\n const approval = this._appSpec.source?.approval ? Buffer.from(this._appSpec.source.approval, 'base64').toString('utf-8') : undefined\n // variable not present, so unknown control value\n if (!approval || !approval.includes(control === 'updatable' ? UPDATABLE_TEMPLATE_NAME : DELETABLE_TEMPLATE_NAME)) return undefined\n\n // A call is present and configured\n return (\n this._appSpec.bareActions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication') ||\n Object.values(this._appSpec.methods).some((c) =>\n c.actions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication'),\n )\n )\n }\n\n private getParamsMethods() {\n return {\n /** Return params for a create ABI call, including deploy-time TEAL template replacements and compilation if provided */\n create: async (params: Expand<AppClientMethodCallParams & AppClientCompilationParams & CreateOnComplete & CreateSchema>) => {\n return this.getABIParams(\n {\n ...params,\n deployTimeParams: params.deployTimeParams ?? this._deployTimeParams,\n schema: params.schema ?? {\n globalByteSlices: this._appSpec.state.schema.global.bytes,\n globalInts: this._appSpec.state.schema.global.ints,\n localByteSlices: this._appSpec.state.schema.local.bytes,\n localInts: this._appSpec.state.schema.local.ints,\n },\n ...(await this.compile({ ...params, deployTimeParams: params.deployTimeParams ?? this._deployTimeParams })),\n },\n params.onComplete ?? OnApplicationComplete.NoOpOC,\n ) satisfies AppCreateMethodCall\n },\n /** Return params for a deployment update ABI call */\n deployUpdate: (params: Expand<AppClientMethodCallParams>) => {\n return this.getABIParams(params, OnApplicationComplete.UpdateApplicationOC) satisfies DeployAppUpdateMethodCall\n },\n /** Return params for a deployment delete ABI call */\n deployDelete: (params: AppClientMethodCallParams) => {\n return this.getABIParams(params, OnApplicationComplete.DeleteApplicationOC) satisfies DeployAppDeleteMethodCall\n },\n bare: {\n /** Return params for a create bare call, including deploy-time TEAL template replacements and compilation if provided */\n create: async (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateOnComplete & CreateSchema>) => {\n return this.getBareParams(\n {\n ...params,\n deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams,\n schema: params?.schema ?? {\n globalByteSlices: this._appSpec.state.schema.global.bytes,\n globalInts: this._appSpec.state.schema.global.ints,\n localByteSlices: this._appSpec.state.schema.local.bytes,\n localInts: this._appSpec.state.schema.local.ints,\n },\n ...(await this.compile({ ...params, deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams })),\n },\n params?.onComplete ?? OnApplicationComplete.NoOpOC,\n ) satisfies AppCreateParams\n },\n /** Return params for a deployment update bare call */\n deployUpdate: (params?: Expand<AppClientBareCallParams>) => {\n return this.getBareParams(params, OnApplicationComplete.UpdateApplicationOC) satisfies DeployAppUpdateParams\n },\n /** Return params for a deployment delete bare call */\n deployDelete: (params?: AppClientBareCallParams) => {\n return this.getBareParams(params, OnApplicationComplete.DeleteApplicationOC) satisfies DeployAppDeleteParams\n },\n },\n }\n }\n\n /** Make the given call and catch any errors, augmenting with debugging information before re-throwing. */\n private async handleCallErrors<TResult>(call: () => Promise<TResult>) {\n try {\n return await call()\n } catch (e) {\n throw this.exposeLogicError(e as Error)\n }\n }\n\n /**\n * Compiles the approval and clear state programs (if TEAL templates provided),\n * performing any provided deploy-time parameter replacement and stores\n * the source maps.\n *\n * If no TEAL templates provided it will use any byte code provided in the app spec.\n *\n * Will store any generated source maps for later use in debugging.\n */\n private async compile(compilation?: AppClientCompilationParams) {\n const result = await AppClient.compile(this._appSpec, this._algorand.app, compilation)\n\n if (result.compiledApproval) {\n this._approvalSourceMap = result.compiledApproval.sourceMap\n }\n if (result.compiledClear) {\n this._clearSourceMap = result.compiledClear.sourceMap\n }\n\n return result\n }\n\n private getBareParams<TParams extends { sender?: string } | undefined, TOnComplete extends OnApplicationComplete>(\n params: TParams,\n onComplete: TOnComplete,\n ) {\n return {\n ...params,\n sender: this.getSender(params?.sender),\n onComplete,\n }\n }\n\n private getABIParams<\n TParams extends { method: string; sender?: string; args?: AppClientMethodCallParams['args'] },\n TOnComplete extends OnApplicationComplete,\n >(params: TParams, onComplete: TOnComplete) {\n return {\n ...params,\n sender: this.getSender(params.sender),\n method: getArc56Method(params.method, this._appSpec),\n args: AppClient.getABIArgsWithDefaultValues(params.method, params.args, this._appSpec),\n onComplete,\n }\n }\n\n /** Returns the sender for a call, using the `defaultSender`\n * if none provided and throws an error if neither provided */\n private getSender(sender: string | undefined): string {\n if (!sender && !this._defaultSender) {\n throw new Error(`No sender provided and no default sender present in app client for call to app ${this._appName}`)\n }\n return sender ?? this._defaultSender!\n }\n\n /**\n * Checks for decode errors on the SendAppTransactionResult and maps the return value to the specified type\n * on the ARC-56 method.\n *\n * If the return type is a struct then the struct will be returned.\n *\n * @param result The SendAppTransactionResult to be mapped\n * @param method The method that was called\n * @returns The smart contract response with an updated return value\n */\n async parseMethodCallReturn<\n TReturn extends Uint8Array | ABIValue | ABIStruct | undefined,\n TResult extends SendAppTransactionResult = SendAppTransactionResult,\n >(result: Promise<TResult> | TResult, method: Arc56Method): Promise<Expand<Omit<TResult, 'return'> & AppReturn<TReturn>>> {\n const resultValue = await result\n return { ...resultValue, return: getArc56ReturnValue(resultValue.return, method, this._appSpec.structs) } as unknown as Expand<\n Omit<TResult, 'return'> & AppReturn<TReturn>\n >\n }\n}\n"],"names":["AppClient","getArc56Method","getArc56ReturnValue","UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-factory.mjs","sources":["../../src/types/app-factory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AA+BA,IAAO,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AACpC,IAAO,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;AA4G5D;;;;AAIG;MACU,UAAU,CAAA;AAerB,IAAA,WAAA,CAAY,MAAwB,EAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC1D,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;AACpD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAA;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAA;AAC1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAA;AAChD,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;AAClC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;KAC9C;;AAGD,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,cAAc,CAAA;KAC3B;AAED;;;;;;;AAOG;IACI,MAAM,MAAM,CAAC,MAA+B,EAAA;QACjD,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAA;QACtD,MAAM,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAA;AAC3E,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;AAC/E,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YACzC,MAAM,IAAI,QAAQ,IAAI,MAAM;AAC1B,cAAE,IAAI,CAAC,qBAAqB,CACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,EACxH,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC7C;AACH,cAAE;AACE,gBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAC9H,gBAAA,MAAM,EAAE,SAAS;AAClB,aAAA,CACN,CAAA;QACD,OAAO;AACL,YAAA,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;AACF,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,MAAM;AACT,gBAAA,GAAI,QAA0C;AAC/C,aAAA;SACF,CAAA;KACF;AAED;;;;;;;;;;AAUG;IACI,MAAM,MAAM,CAAC,MAA8B,EAAA;AAChD,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;AAC/F,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAC/F,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAA;AAC1E,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAC3D,YAAA,GAAG,MAAM;YACT,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;AACzE,kBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;kBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAChG,YAAY,EACV,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;kBAClD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/C,kBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;YACxD,YAAY,EACV,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;kBAClD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/C,kBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AACxD,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,SAAS;gBACT,SAAS;AACV,aAAA;AACF,SAAA,CAAC,CAAA;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAChC,KAAK,EAAE,YAAY,CAAC,KAAK;AAC1B,SAAA,CAAC,CAAA;AACF,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,GAAG,YAAY;AACf,YAAA,GAAG,QAAQ;SACZ,CAAA;QACD,OAAO;YACL,GAAG;AACH,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,MAAM;gBACT,MAAM,EACJ,QAAQ,IAAI,MAAM;AAChB,sBAAE,MAAM,CAAC,kBAAkB,KAAK,QAAQ;0BACpC,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;8BACpD,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtH,8BAAE,SAAS;0BACX,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;8BACpD,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtH,8BAAE,SAAS;AACf,sBAAE,SAAS;AACf,gBAAA,YAAY,EACV,cAAc,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;sBAC9E,mBAAmB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC5H,sBAAE,SAAS;AAChB,aAAA;SACF,CAAA;KACF;AAED;;;;;;;AAOG;AACI,IAAA,gBAAgB,CAAC,MAA6D,EAAA;QACnF,OAAO,IAAI,SAAS,CAAC;AACnB,YAAA,GAAG,MAAM;YACT,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;AACtB,YAAA,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;AACxC,YAAA,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;AAC1D,YAAA,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB;AACtE,YAAA,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe;AAC9D,SAAA,CAAC,CAAA;KACH;AAED;;;;;;;;AAQG;AACI,IAAA,mCAAmC,CACxC,MAA0G,EAAA;QAE1G,OAAO,SAAS,CAAC,kBAAkB,CAAC;AAClC,YAAA,GAAG,MAAM;YACT,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;AACtB,YAAA,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;AACxC,YAAA,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;AAC1D,YAAA,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB;AACtE,YAAA,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe;AAC9D,SAAA,CAAC,CAAA;KACH;AAED;;;;;;AAMG;IACH,gBAAgB,CAAC,CAAQ,EAAE,mBAA6B,EAAA;QACtD,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;YAClD,mBAAmB;YACnB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,cAAc,EAAE,IAAI,CAAC,eAAe;AACrC,SAAA,CAAC,CAAA;KACH;AAED;;;AAGG;IACH,gBAAgB,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACrD,YAAA,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAA;SACF;QAED,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAA;KACF;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAyB,EAAA;QACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;KAChE;AAEO,IAAA,oBAAoB,CAAC,OAAkC,EAAA;AAC7D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;;AAEpI,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,GAAG,uBAAuB,GAAG,uBAAuB,CAAC;AAAE,YAAA,OAAO,SAAS,CAAA;;QAGlI,QACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAC5G,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAC1C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAC7F,EACF;KACF;IAEO,gBAAgB,GAAA;QACtB,OAAO;;AAEL,YAAA,MAAM,EAAE,OAAO,MAAwG,KAAI;gBACzH,OAAO,IAAI,CAAC,YAAY,CACtB;AACE,oBAAA,GAAG,MAAM;AACT,oBAAA,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB;AACnE,oBAAA,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI;wBACvB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;wBACzD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;wBAClD,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;wBACvD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AACjD,qBAAA;oBACD,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;iBAC5G,EACD,MAAM,CAAC,UAAU,IAAI,qBAAqB,CAAC,MAAM,CACpB,CAAA;aAChC;;AAED,YAAA,YAAY,EAAE,CAAC,MAAyC,KAAI;gBAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAqC,CAAA;aAChH;;AAED,YAAA,YAAY,EAAE,CAAC,MAAiC,KAAI;gBAClD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAqC,CAAA;aAChH;AACD,YAAA,IAAI,EAAE;;AAEJ,gBAAA,MAAM,EAAE,OAAO,MAAuG,KAAI;oBACxH,OAAO,IAAI,CAAC,aAAa,CACvB;AACE,wBAAA,GAAG,MAAM;AACT,wBAAA,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,iBAAiB;AACpE,wBAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI;4BACxB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;4BACzD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;4BAClD,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;4BACvD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AACjD,yBAAA;wBACD,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;qBAC7G,EACD,MAAM,EAAE,UAAU,IAAI,qBAAqB,CAAC,MAAM,CACzB,CAAA;iBAC5B;;AAED,gBAAA,YAAY,EAAE,CAAC,MAAwC,KAAI;oBACzD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAiC,CAAA;iBAC7G;;AAED,gBAAA,YAAY,EAAE,CAAC,MAAgC,KAAI;oBACjD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAiC,CAAA;iBAC7G;AACF,aAAA;SACF,CAAA;KACF;;IAGO,MAAM,gBAAgB,CAAU,IAA4B,EAAA;AAClE,QAAA,IAAI;YACF,OAAO,MAAM,IAAI,EAAE,CAAA;SACpB;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAU,CAAC,CAAA;SACxC;KACF;AAED;;;;;;;;AAQG;IACK,MAAM,OAAO,CAAC,WAAwC,EAAA;AAC5D,QAAA,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAEtF,QAAA,IAAI,MAAM,CAAC,gBAAgB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAA;SAC5D;AACD,QAAA,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAA;SACtD;AAED,QAAA,OAAO,MAAM,CAAA;KACd;IAEO,aAAa,CACnB,MAAe,EACf,UAAuB,EAAA;QAEvB,OAAO;AACL,YAAA,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;YACtC,UAAU;SACX,CAAA;KACF;IAEO,YAAY,CAGlB,MAAe,EAAE,UAAuB,EAAA;QACxC,OAAO;AACL,YAAA,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;AACpD,YAAA,IAAI,EAAE,SAAS,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtF,UAAU;SACX,CAAA;KACF;AAED;AAC8D;AACtD,IAAA,SAAS,CAAC,MAA0B,EAAA;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,CAAA,+EAAA,EAAkF,IAAI,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAA;SACnH;AACD,QAAA,OAAO,MAAM,IAAI,IAAI,CAAC,cAAe,CAAA;KACtC;AAED;;;;;;;;;AASG;AACH,IAAA,MAAM,qBAAqB,CAGzB,MAAkC,EAAE,MAAmB,EAAA;AACvD,QAAA,MAAM,WAAW,GAAG,MAAM,MAAM,CAAA;QAChC,OAAO,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAEtG,CAAA;KACF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"app-factory.mjs","sources":["../../src/types/app-factory.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientInterface } from './algorand-client-interface'\nimport {\n AppCompilationResult,\n AppReturn,\n DELETABLE_TEMPLATE_NAME,\n SendAppTransactionResult,\n TealTemplateParams,\n UPDATABLE_TEMPLATE_NAME,\n} from './app'\nimport { ABIStruct, Arc56Contract, Arc56Method, getArc56Method, getArc56ReturnValue } from './app-arc56'\nimport {\n AppClient,\n AppClientBareCallParams,\n AppClientCompilationParams,\n AppClientMethodCallParams,\n AppClientParams,\n AppSourceMaps,\n ResolveAppClientByCreatorAndName,\n} from './app-client'\nimport {\n AppDeployParams,\n DeployAppDeleteMethodCall,\n DeployAppDeleteParams,\n DeployAppUpdateMethodCall,\n DeployAppUpdateParams,\n} from './app-deployer'\nimport { AppSpec } from './app-spec'\nimport { AppCreateMethodCall, AppCreateParams } from './composer'\nimport { Expand } from './expand'\nimport { ExecuteParams } from './transaction'\nimport SourceMap = algosdk.SourceMap\nimport OnApplicationComplete = algosdk.OnApplicationComplete\nimport ABIValue = algosdk.ABIValue\n\n/** Parameters to create an app client */\nexport interface AppFactoryParams {\n /** The ARC-56 or ARC-32 application spec as either:\n * * Parsed JSON ARC-56 `Contract`\n * * Parsed JSON ARC-32 `AppSpec`\n * * Raw JSON string (in either ARC-56 or ARC-32 format)\n */\n appSpec: Arc56Contract | AppSpec | string\n\n /** `AlgorandClient` instance */\n algorand: AlgorandClientInterface\n\n /**\n * Optional override for the app name; used for on-chain metadata and lookups.\n * Defaults to the ARC-32/ARC-56 app spec name.\n */\n appName?: string\n\n /** Optional address to use for the account to use as the default sender for calls. */\n defaultSender?: string\n\n /** The version of app that is / will be deployed; defaults to 1.0 */\n version?: string\n\n /**\n * Whether or not the contract should have deploy-time immutability control set, undefined = ignore.\n * If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.\n *\n * Useful if you want to vend multiple contracts from the same factory without specifying this value\n * for each call.\n */\n updatable?: boolean\n\n /**\n * Whether or not the contract should have deploy-time permanence control set, undefined = ignore.\n * If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.\n *\n * Useful if you want to vend multiple contracts from the same factory without specifying this value\n * for each call.\n */\n deletable?: boolean\n\n /**\n * Optional deploy-time TEAL template replacement parameters.\n * If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.\n *\n * Useful if you want to vend multiple contracts from the same factory without specifying this value\n * for each call.\n */\n deployTimeParams?: TealTemplateParams\n}\n\n/** onComplete parameter for a create app call */\nexport type CreateOnComplete = {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearStateOC>\n}\n\n/** Specifies a schema used for creating an app */\nexport type CreateSchema = {\n /** The state schema for the app. This is immutable once the app is created. By default uses the ARC32/ARC-56 spec. */\n schema?: {\n /** The number of integers saved in global state. */\n globalInts: number\n /** The number of byte slices saved in global state. */\n globalByteSlices: number\n /** The number of integers saved in local state. */\n localInts: number\n /** The number of byte slices saved in local state. */\n localByteSlices: number\n }\n /** Number of extra pages required for the programs.\n * Defaults to the number needed for the programs in this call if not specified.\n * This is immutable once the app is created. */\n extraProgramPages?: number\n}\n\n/** Parameters to define a create call for an `AppFactory` */\nexport type AppFactoryCreateParams =\n | Expand<AppClientMethodCallParams & AppClientCompilationParams & CreateOnComplete & ExecuteParams & CreateSchema>\n | Expand<AppClientBareCallParams & AppClientCompilationParams & CreateOnComplete & ExecuteParams & CreateSchema>\n\n/** Parameters to define a deployment for an `AppFactory` */\nexport type AppFactoryDeployParams = Expand<\n Omit<AppDeployParams, 'createParams' | 'updateParams' | 'deleteParams' | 'metadata'> & {\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams?:\n | Expand<AppClientMethodCallParams & CreateOnComplete & CreateSchema>\n | Expand<AppClientBareCallParams & CreateOnComplete & CreateSchema>\n /** Update transaction parameters to use if a create needs to be issued as part of deployment */\n updateParams?: AppClientMethodCallParams | AppClientBareCallParams\n /** Delete transaction parameters to use if a create needs to be issued as part of deployment */\n deleteParams?: AppClientMethodCallParams | AppClientBareCallParams\n /**\n * Whether or not the contract should have deploy-time immutability control set.\n * `undefined` = use AppFactory constructor value if set or base it on the app spec.\n */\n updatable?: boolean\n /**\n * Whether or not the contract should have deploy-time permanence control set.\n * `undefined` = use AppFactory constructor value if set or base it on the app spec.\n */\n deletable?: boolean\n }\n>\n\n/**\n * ARC-56/ARC-32 app factory that, for a given app spec, allows you to create\n * and deploy one or more app instances and to create one or more app clients\n * to interact with those (or other) app instances.\n */\nexport class AppFactory {\n private _appSpec: Arc56Contract\n private _appName: string\n private _algorand: AlgorandClientInterface\n private _version: string\n private _defaultSender?: string\n private _deployTimeParams?: TealTemplateParams\n private _updatable?: boolean\n private _deletable?: boolean\n\n private _approvalSourceMap: SourceMap | undefined\n private _clearSourceMap: SourceMap | undefined\n\n private _paramsMethods: ReturnType<AppFactory['getParamsMethods']>\n\n constructor(params: AppFactoryParams) {\n this._appSpec = AppClient.normaliseAppSpec(params.appSpec)\n this._appName = params.appName ?? this._appSpec.name\n this._algorand = params.algorand\n this._version = params.version ?? '1.0'\n this._defaultSender = params.defaultSender\n this._deployTimeParams = params.deployTimeParams\n this._updatable = params.updatable\n this._deletable = params.deletable\n this._paramsMethods = this.getParamsMethods()\n }\n\n /** Get parameters to define create and deploy related calls to the current app */\n get params() {\n return this._paramsMethods\n }\n\n /**\n * Creates an instance of the app and returns the result of the creation\n * transaction and an app client to interact with that app instance.\n *\n * Performs deploy-time TEAL template placeholder substitutions (if specified).\n * @param params The parameters to create the app\n * @returns The app client and the result of the creation transaction\n */\n public async create(params?: AppFactoryCreateParams) {\n const updatable = params?.updatable ?? this._updatable\n const deletable = params?.deletable ?? this._deletable\n const deployTimeParams = params?.deployTimeParams ?? this._deployTimeParams\n const compiled = await this.compile({ deployTimeParams, updatable, deletable })\n const result = await this.handleCallErrors(async () =>\n params && 'method' in params\n ? this.parseMethodCallReturn(\n this._algorand.send.appCreateMethodCall(await this.params.create({ ...params, updatable, deletable, deployTimeParams })),\n getArc56Method(params.method, this._appSpec),\n )\n : {\n ...(await this._algorand.send.appCreate(await this.params.bare.create({ ...params, updatable, deletable, deployTimeParams }))),\n return: undefined,\n },\n )\n return {\n app: this.getAppClientById({\n appId: result.appId,\n }),\n result: {\n ...result,\n ...(compiled as Partial<AppCompilationResult>),\n },\n }\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param params The arguments to control the app deployment\n * @returns The app client and the result of the deployment\n */\n public async deploy(params: AppFactoryDeployParams) {\n const updatable = params.updatable ?? this._updatable ?? this.getDeployTimeControl('updatable')\n const deletable = params.deletable ?? this._deletable ?? this.getDeployTimeControl('deletable')\n const deployTimeParams = params.deployTimeParams ?? this._deployTimeParams\n const compiled = await this.compile({ deployTimeParams, updatable, deletable })\n const deployResult = await this._algorand.appDeployer.deploy({\n ...params,\n createParams: await (params.createParams && 'method' in params.createParams\n ? this.params.create({ ...params.createParams, updatable, deletable, deployTimeParams })\n : this.params.bare.create({ ...params.createParams, updatable, deletable, deployTimeParams })),\n updateParams:\n params.updateParams && 'method' in params.updateParams\n ? this.params.deployUpdate(params.updateParams)\n : this.params.bare.deployUpdate(params.updateParams),\n deleteParams:\n params.deleteParams && 'method' in params.deleteParams\n ? this.params.deployDelete(params.deleteParams)\n : this.params.bare.deployDelete(params.deleteParams),\n metadata: {\n name: this._appName,\n version: this._version,\n updatable,\n deletable,\n },\n })\n const app = this.getAppClientById({\n appId: deployResult.appId,\n })\n const result = {\n ...deployResult,\n ...compiled,\n }\n return {\n app,\n result: {\n ...result,\n return:\n 'return' in result\n ? result.operationPerformed === 'update'\n ? params.updateParams && 'method' in params.updateParams\n ? getArc56ReturnValue(result.return, getArc56Method(params.updateParams.method, this._appSpec), this._appSpec.structs)\n : undefined\n : params.createParams && 'method' in params.createParams\n ? getArc56ReturnValue(result.return, getArc56Method(params.createParams.method, this._appSpec), this._appSpec.structs)\n : undefined\n : undefined,\n deleteReturn:\n 'deleteReturn' in result && params.deleteParams && 'method' in params.deleteParams\n ? getArc56ReturnValue(result.deleteReturn, getArc56Method(params.deleteParams.method, this._appSpec), this._appSpec.structs)\n : undefined,\n },\n }\n }\n\n /**\n * Returns a new `AppClient` client for an app instance of the given ID.\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public getAppClientById(params: Expand<Omit<AppClientParams, 'algorand' | 'appSpec'>>) {\n return new AppClient({\n ...params,\n algorand: this._algorand,\n appSpec: this._appSpec,\n appName: params.appName ?? this._appName,\n defaultSender: params.defaultSender ?? this._defaultSender,\n approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,\n clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,\n })\n }\n\n /**\n * Returns a new `AppClient` client, resolving the app by creator address and name\n * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public getAppClientByCreatorAddressAndName(\n params: Expand<Omit<AppClientParams, 'algorand' | 'appSpec' | 'appId'> & ResolveAppClientByCreatorAndName>,\n ) {\n return AppClient.fromCreatorAndName({\n ...params,\n algorand: this._algorand,\n appSpec: this._appSpec,\n appName: params.appName ?? this._appName,\n defaultSender: params.defaultSender ?? this._defaultSender,\n approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,\n clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,\n })\n }\n\n /**\n * Takes an error that may include a logic error from a call to the current app and re-exposes the\n * error to include source code information via the source map and ARC-56 spec.\n * @param e The error to parse\n * @param isClearStateProgram Whether or not the code was running the clear state program (defaults to approval program)\n * @returns The new error, or if there was no logic error or source map then the wrapped error with source details\n */\n exposeLogicError(e: Error, isClearStateProgram?: boolean): Error {\n return AppClient.exposeLogicError(e, this._appSpec, {\n isClearStateProgram,\n approvalSourceMap: this._approvalSourceMap,\n clearSourceMap: this._clearSourceMap,\n })\n }\n\n /**\n * Export the current source maps for the app.\n * @returns The source maps\n */\n exportSourceMaps(): AppSourceMaps {\n if (!this._approvalSourceMap || !this._clearSourceMap) {\n throw new Error(\n \"Unable to export source maps; they haven't been loaded into this client - you need to call create, update, or deploy first\",\n )\n }\n\n return {\n approvalSourceMap: this._approvalSourceMap,\n clearSourceMap: this._clearSourceMap,\n }\n }\n\n /**\n * Import source maps for the app.\n * @param sourceMaps The source maps to import\n */\n importSourceMaps(sourceMaps: AppSourceMaps) {\n this._approvalSourceMap = new SourceMap(sourceMaps.approvalSourceMap)\n this._clearSourceMap = new SourceMap(sourceMaps.clearSourceMap)\n }\n\n private getDeployTimeControl(control: 'updatable' | 'deletable'): boolean | undefined {\n const approval = this._appSpec.source?.approval ? Buffer.from(this._appSpec.source.approval, 'base64').toString('utf-8') : undefined\n // variable not present, so unknown control value\n if (!approval || !approval.includes(control === 'updatable' ? UPDATABLE_TEMPLATE_NAME : DELETABLE_TEMPLATE_NAME)) return undefined\n\n // A call is present and configured\n return (\n this._appSpec.bareActions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication') ||\n Object.values(this._appSpec.methods).some((c) =>\n c.actions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication'),\n )\n )\n }\n\n private getParamsMethods() {\n return {\n /** Return params for a create ABI call, including deploy-time TEAL template replacements and compilation if provided */\n create: async (params: Expand<AppClientMethodCallParams & AppClientCompilationParams & CreateOnComplete & CreateSchema>) => {\n return this.getABIParams(\n {\n ...params,\n deployTimeParams: params.deployTimeParams ?? this._deployTimeParams,\n schema: params.schema ?? {\n globalByteSlices: this._appSpec.state.schema.global.bytes,\n globalInts: this._appSpec.state.schema.global.ints,\n localByteSlices: this._appSpec.state.schema.local.bytes,\n localInts: this._appSpec.state.schema.local.ints,\n },\n ...(await this.compile({ ...params, deployTimeParams: params.deployTimeParams ?? this._deployTimeParams })),\n },\n params.onComplete ?? OnApplicationComplete.NoOpOC,\n ) satisfies AppCreateMethodCall\n },\n /** Return params for a deployment update ABI call */\n deployUpdate: (params: Expand<AppClientMethodCallParams>) => {\n return this.getABIParams(params, OnApplicationComplete.UpdateApplicationOC) satisfies DeployAppUpdateMethodCall\n },\n /** Return params for a deployment delete ABI call */\n deployDelete: (params: AppClientMethodCallParams) => {\n return this.getABIParams(params, OnApplicationComplete.DeleteApplicationOC) satisfies DeployAppDeleteMethodCall\n },\n bare: {\n /** Return params for a create bare call, including deploy-time TEAL template replacements and compilation if provided */\n create: async (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateOnComplete & CreateSchema>) => {\n return this.getBareParams(\n {\n ...params,\n deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams,\n schema: params?.schema ?? {\n globalByteSlices: this._appSpec.state.schema.global.bytes,\n globalInts: this._appSpec.state.schema.global.ints,\n localByteSlices: this._appSpec.state.schema.local.bytes,\n localInts: this._appSpec.state.schema.local.ints,\n },\n ...(await this.compile({ ...params, deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams })),\n },\n params?.onComplete ?? OnApplicationComplete.NoOpOC,\n ) satisfies AppCreateParams\n },\n /** Return params for a deployment update bare call */\n deployUpdate: (params?: Expand<AppClientBareCallParams>) => {\n return this.getBareParams(params, OnApplicationComplete.UpdateApplicationOC) satisfies DeployAppUpdateParams\n },\n /** Return params for a deployment delete bare call */\n deployDelete: (params?: AppClientBareCallParams) => {\n return this.getBareParams(params, OnApplicationComplete.DeleteApplicationOC) satisfies DeployAppDeleteParams\n },\n },\n }\n }\n\n /** Make the given call and catch any errors, augmenting with debugging information before re-throwing. */\n private async handleCallErrors<TResult>(call: () => Promise<TResult>) {\n try {\n return await call()\n } catch (e) {\n throw this.exposeLogicError(e as Error)\n }\n }\n\n /**\n * Compiles the approval and clear state programs (if TEAL templates provided),\n * performing any provided deploy-time parameter replacement and stores\n * the source maps.\n *\n * If no TEAL templates provided it will use any byte code provided in the app spec.\n *\n * Will store any generated source maps for later use in debugging.\n */\n private async compile(compilation?: AppClientCompilationParams) {\n const result = await AppClient.compile(this._appSpec, this._algorand.app, compilation)\n\n if (result.compiledApproval) {\n this._approvalSourceMap = result.compiledApproval.sourceMap\n }\n if (result.compiledClear) {\n this._clearSourceMap = result.compiledClear.sourceMap\n }\n\n return result\n }\n\n private getBareParams<TParams extends { sender?: string } | undefined, TOnComplete extends OnApplicationComplete>(\n params: TParams,\n onComplete: TOnComplete,\n ) {\n return {\n ...params,\n sender: this.getSender(params?.sender),\n onComplete,\n }\n }\n\n private getABIParams<\n TParams extends { method: string; sender?: string; args?: AppClientMethodCallParams['args'] },\n TOnComplete extends OnApplicationComplete,\n >(params: TParams, onComplete: TOnComplete) {\n return {\n ...params,\n sender: this.getSender(params.sender),\n method: getArc56Method(params.method, this._appSpec),\n args: AppClient.getABIArgsWithDefaultValues(params.method, params.args, this._appSpec),\n onComplete,\n }\n }\n\n /** Returns the sender for a call, using the `defaultSender`\n * if none provided and throws an error if neither provided */\n private getSender(sender: string | undefined): string {\n if (!sender && !this._defaultSender) {\n throw new Error(`No sender provided and no default sender present in app client for call to app ${this._appName}`)\n }\n return sender ?? this._defaultSender!\n }\n\n /**\n * Checks for decode errors on the SendAppTransactionResult and maps the return value to the specified type\n * on the ARC-56 method.\n *\n * If the return type is a struct then the struct will be returned.\n *\n * @param result The SendAppTransactionResult to be mapped\n * @param method The method that was called\n * @returns The smart contract response with an updated return value\n */\n async parseMethodCallReturn<\n TReturn extends Uint8Array | ABIValue | ABIStruct | undefined,\n TResult extends SendAppTransactionResult = SendAppTransactionResult,\n >(result: Promise<TResult> | TResult, method: Arc56Method): Promise<Expand<Omit<TResult, 'return'> & AppReturn<TReturn>>> {\n const resultValue = await result\n return { ...resultValue, return: getArc56ReturnValue(resultValue.return, method, this._appSpec.structs) } as unknown as Expand<\n Omit<TResult, 'return'> & AppReturn<TReturn>\n >\n }\n}\n"],"names":[],"mappings":"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"}
|
package/types/app-manager.d.ts
CHANGED
package/types/app-manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-manager.js","sources":["../../src/types/app-manager.ts"],"sourcesContent":[null],"names":["UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-manager.js","sources":["../../src/types/app-manager.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { TransactionSignerAccount } from './account'\nimport {\n BoxName,\n DELETABLE_TEMPLATE_NAME,\n UPDATABLE_TEMPLATE_NAME,\n type ABIReturn,\n type AppState,\n type CompiledTeal,\n type TealTemplateParams,\n} from './app'\nimport modelsv2 = algosdk.modelsv2\n\n/** Information about an app. */\nexport interface AppInformation {\n /** The ID of the app. */\n appId: bigint\n /** The escrow address that the app operates with. */\n appAddress: string\n /**\n * Approval program.\n */\n approvalProgram: Uint8Array\n /**\n * Clear state program.\n */\n clearStateProgram: Uint8Array\n /**\n * The address that created this application. This is the address where the\n * parameters and global state for this application can be found.\n */\n creator: string\n /**\n * Current global state values.\n */\n globalState: AppState\n /** The number of allocated ints in per-user local state. */\n localInts: number\n /** The number of allocated byte slices in per-user local state. */\n localByteSlices: number\n /** The number of allocated ints in global state. */\n globalInts: number\n /** The number of allocated byte slices in global state. */\n globalByteSlices: number\n /** Any extra pages that are needed for the smart contract. */\n extraProgramPages?: number\n}\n\n/**\n * Something that identifies an app box name - either a:\n * * `Uint8Array` (the actual binary of the box name)\n * * `string` (that will be encoded to a `Uint8Array`)\n * * `TransactionSignerAccount` (that will be encoded into the\n * public key address of the corresponding account)\n */\nexport type BoxIdentifier = string | Uint8Array | TransactionSignerAccount\n\n/**\n * A grouping of the app ID and name identifier to reference an app box.\n */\nexport interface BoxReference {\n /**\n * A unique application id\n */\n appId: bigint\n /**\n * Identifier for a box name\n */\n name: BoxIdentifier\n}\n\n/**\n * Parameters to get and decode a box value as an ABI type.\n */\nexport interface BoxValueRequestParams {\n /** The ID of the app return box names for */\n appId: bigint\n /** The name of the box to return either as a string, binary array or `BoxName` */\n boxName: BoxIdentifier\n /** The ABI type to decode the value using */\n type: algosdk.ABIType\n}\n\n/**\n * Parameters to get and decode a box value as an ABI type.\n */\nexport interface BoxValuesRequestParams {\n /** The ID of the app return box names for */\n appId: bigint\n /** The names of the boxes to return either as a string, binary array or BoxName` */\n boxNames: BoxIdentifier[]\n /** The ABI type to decode the value using */\n type: algosdk.ABIType\n}\n\n/** Allows management of application information. */\nexport class AppManager {\n private _algod: algosdk.Algodv2\n private _compilationResults: Record<string, CompiledTeal> = {}\n\n /**\n * Creates an `AppManager`\n * @param algod An algod instance\n */\n constructor(algod: algosdk.Algodv2) {\n this._algod = algod\n }\n\n /**\n * Compiles the given TEAL using algod and returns the result, including source map.\n *\n * The result of this compilation is also cached keyed by the TEAL\n * code so it can be retrieved via `getCompilationResult`.\n *\n * This function is re-entrant; it will only compile the same code once.\n *\n * @param tealCode The TEAL code\n * @returns The information about the compiled file\n */\n async compileTeal(tealCode: string): Promise<CompiledTeal> {\n if (this._compilationResults[tealCode]) {\n return this._compilationResults[tealCode]\n }\n\n const compiled = await this._algod.compile(tealCode).sourcemap(true).do()\n const result = {\n teal: tealCode,\n compiled: compiled.result,\n compiledHash: compiled.hash,\n compiledBase64ToBytes: new Uint8Array(Buffer.from(compiled.result, 'base64')),\n sourceMap: new algosdk.SourceMap(compiled['sourcemap']),\n }\n this._compilationResults[tealCode] = result\n\n return result\n }\n\n /**\n * Performs template substitution of a teal template and compiles it, returning the compiled result.\n *\n * Looks for `TMPL_{parameter}` for template replacements and replaces AlgoKit deploy-time control parameters\n * if deployment metadata is specified.\n *\n * * `TMPL_UPDATABLE` for updatability / immutability control\n * * `TMPL_DELETABLE` for deletability / permanence control\n *\n * @param tealTemplateCode The TEAL logic to compile\n * @param templateParams Any parameters to replace in the .teal file before compiling\n * @param deploymentMetadata The deployment metadata the app will be deployed with\n * @returns The information about the compiled code\n */\n async compileTealTemplate(\n tealTemplateCode: string,\n templateParams?: TealTemplateParams,\n deploymentMetadata?: { updatable?: boolean; deletable?: boolean },\n ): Promise<CompiledTeal> {\n let tealCode = AppManager.stripTealComments(tealTemplateCode)\n\n tealCode = AppManager.replaceTealTemplateParams(tealCode, templateParams)\n\n if (deploymentMetadata) {\n tealCode = AppManager.replaceTealTemplateDeployTimeControlParams(tealCode, deploymentMetadata)\n }\n\n return await this.compileTeal(tealCode)\n }\n\n /**\n * Returns a previous compilation result.\n * @param tealCode The TEAL code\n * @returns The information about the previously compiled file\n * or `undefined` if that TEAL code wasn't previously compiled\n */\n getCompilationResult(tealCode: string): CompiledTeal | undefined {\n return this._compilationResults[tealCode]\n }\n\n /**\n * Returns the current app information for the app with the given ID.\n *\n * @example\n * ```typescript\n * const appInfo = await appManager.getById(12353n);\n * ```\n *\n * @param appId The ID of the app\n * @returns The app information\n */\n public async getById(appId: bigint): Promise<AppInformation> {\n const app = modelsv2.Application.from_obj_for_encoding(await this._algod.getApplicationByID(Number(appId)).do())\n return {\n appId: BigInt(app.id),\n appAddress: algosdk.getApplicationAddress(app.id),\n approvalProgram: app.params.approvalProgram,\n clearStateProgram: app.params.clearStateProgram,\n creator: app.params.creator,\n localInts: Number(app.params.localStateSchema?.numUint ?? 0),\n localByteSlices: Number(app.params.localStateSchema?.numByteSlice ?? 0),\n globalInts: Number(app.params.globalStateSchema?.numUint ?? 0),\n globalByteSlices: Number(app.params.globalStateSchema?.numByteSlice ?? 0),\n extraProgramPages: Number(app.params.extraProgramPages ?? 0),\n globalState: AppManager.decodeAppState(app.params.globalState ?? []),\n }\n }\n\n /**\n * Returns the current global state values for the given app ID and account address\n *\n * @param appId The ID of the app to return global state for\n * @returns The current global state for the given app\n */\n public async getGlobalState(appId: bigint) {\n return (await this.getById(appId)).globalState\n }\n\n /**\n * Returns the current local state values for the given app ID and account address\n *\n * @param appId The ID of the app to return local state for\n * @param address The string address of the account to get local state for the given app\n * @returns The current local state for the given (app, account) combination\n */\n public async getLocalState(appId: bigint, address: string) {\n const appInfo = modelsv2.AccountApplicationResponse.from_obj_for_encoding(\n await this._algod.accountApplicationInformation(address, Number(appId)).do(),\n )\n\n if (!appInfo.appLocalState?.keyValue) {\n throw new Error(\"Couldn't find local state\")\n }\n\n return AppManager.decodeAppState(appInfo.appLocalState.keyValue)\n }\n\n /**\n * Returns the names of the current boxes for the given app.\n * @param appId The ID of the app return box names for\n * @returns The current box names\n */\n public async getBoxNames(appId: bigint): Promise<BoxName[]> {\n const boxResult = await this._algod.getApplicationBoxes(Number(appId)).do()\n return boxResult.boxes.map((b) => {\n return {\n nameRaw: b.name,\n nameBase64: Buffer.from(b.name).toString('base64'),\n name: Buffer.from(b.name).toString('utf-8'),\n }\n })\n }\n\n /**\n * Returns the value of the given box name for the given app.\n * @param appId The ID of the app return box names for\n * @param boxName The name of the box to return either as a string, binary array or `BoxName`\n * @returns The current box value as a byte array\n */\n public async getBoxValue(appId: bigint, boxName: BoxIdentifier): Promise<Uint8Array> {\n const name = AppManager.getBoxReference(boxName).name\n const boxResult = await this._algod.getApplicationBoxByName(Number(appId), name).do()\n return boxResult.value\n }\n\n /**\n * Returns the value of the given box names for the given app.\n * @param appId The ID of the app return box names for\n * @param boxNames The names of the boxes to return either as a string, binary array or `BoxName`\n * @returns The current box values as a byte array in the same order as the passed in box names\n */\n public async getBoxValues(appId: bigint, boxNames: BoxIdentifier[]): Promise<Uint8Array[]> {\n return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValue(appId, boxName)))\n }\n\n /**\n * Returns the value of the given box name for the given app decoded based on the given ABI type.\n * @param request The parameters for the box value request\n * @returns The current box value as an ABI value\n */\n public async getBoxValueFromABIType(request: BoxValueRequestParams): Promise<algosdk.ABIValue> {\n const { appId, boxName, type } = request\n const value = await this.getBoxValue(appId, boxName)\n return type.decode(value)\n }\n\n /**\n * Returns the value of the given box names for the given app decoded based on the given ABI type.\n * @param request The parameters for the box value request\n * @returns The current box values as an ABI value in the same order as the passed in box names\n */\n public async getBoxValuesFromABIType(request: BoxValuesRequestParams): Promise<algosdk.ABIValue[]> {\n const { appId, boxNames, type } = request\n return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValueFromABIType({ appId, boxName, type })))\n }\n\n /**\n * Returns a `algosdk.BoxReference` given a `BoxIdentifier` or `BoxReference`.\n * @param boxId The box to return a reference for\n * @returns The box reference ready to pass into a `algosdk.Transaction`\n */\n public static getBoxReference(boxId: BoxIdentifier | BoxReference): algosdk.BoxReference {\n const ref = typeof boxId === 'object' && 'appId' in boxId ? boxId : { appId: 0n, name: boxId }\n return {\n appIndex: Number(ref.appId),\n name:\n typeof ref.name === 'string'\n ? new TextEncoder().encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(ref.name.addr).publicKey,\n } as algosdk.BoxReference\n }\n\n /**\n * Converts an array of global/local state values from the algod api to a more friendly\n * generic object keyed by the UTF-8 value of the key.\n * @param state A `global-state`, `local-state`, `global-state-deltas` or `local-state-deltas`\n * @returns An object keyeed by the UTF-8 representation of the key with various parsings of the values\n */\n public static decodeAppState(state: { key: string; value: modelsv2.TealValue | modelsv2.EvalDelta }[]): AppState {\n const stateValues = {} as AppState\n\n // Start with empty set\n for (const stateVal of state) {\n const keyBase64 = stateVal.key\n const keyRaw = Buffer.from(keyBase64, 'base64')\n const key = keyRaw.toString('utf-8')\n const tealValue = stateVal.value\n\n const dataTypeFlag = 'action' in tealValue ? tealValue.action : tealValue.type\n let valueBase64: string\n let valueRaw: Buffer\n switch (dataTypeFlag) {\n case 1:\n valueBase64 = tealValue.bytes ?? ''\n valueRaw = Buffer.from(valueBase64, 'base64')\n stateValues[key] = {\n keyRaw,\n keyBase64,\n valueRaw: new Uint8Array(valueRaw),\n valueBase64: valueBase64,\n value: valueRaw.toString('utf-8'),\n }\n break\n case 2: {\n const value = tealValue.uint ?? 0\n stateValues[key] = {\n keyRaw,\n keyBase64,\n value: BigInt(value),\n }\n break\n }\n default:\n throw new Error(`Received unknown state data type of ${dataTypeFlag}`)\n }\n }\n\n return stateValues\n }\n\n /**\n * Returns any ABI return values for the given app call arguments and transaction confirmation.\n * @param confirmation The transaction confirmation from algod\n * @param method The ABI method\n * @returns The return value for the method call\n */\n public static getABIReturn(\n confirmation: modelsv2.PendingTransactionResponse | undefined,\n method: algosdk.ABIMethod | undefined,\n ): ABIReturn | undefined {\n if (!method || !confirmation || method.returns.type === 'void') {\n return undefined\n }\n\n // The parseMethodResponse method mutates the second parameter :(\n const resultDummy: algosdk.ABIResult = {\n txID: '',\n method,\n rawReturnValue: new Uint8Array(),\n }\n const response = algosdk.AtomicTransactionComposer.parseMethodResponse(method, resultDummy, confirmation)\n return !response.decodeError\n ? {\n rawReturnValue: response.rawReturnValue,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n returnValue: response.returnValue!,\n decodeError: undefined,\n }\n : {\n rawReturnValue: undefined,\n returnValue: undefined,\n decodeError: response.decodeError,\n }\n }\n\n /**\n * Replaces AlgoKit deploy-time deployment control parameters within the given TEAL template code.\n *\n * * `TMPL_UPDATABLE` for updatability / immutability control\n * * `TMPL_DELETABLE` for deletability / permanence control\n *\n * Note: If these values are defined, but the corresponding `TMPL_*` value\n * isn't in the teal code it will throw an exception.\n *\n * @param tealTemplateCode The TEAL template code to substitute\n * @param params The deploy-time deployment control parameter value to replace\n * @returns The replaced TEAL code\n */\n static replaceTealTemplateDeployTimeControlParams(tealTemplateCode: string, params: { updatable?: boolean; deletable?: boolean }) {\n if (params.updatable !== undefined) {\n if (!tealTemplateCode.includes(UPDATABLE_TEMPLATE_NAME)) {\n throw new Error(\n `Deploy-time updatability control requested for app deployment, but ${UPDATABLE_TEMPLATE_NAME} not present in TEAL code`,\n )\n }\n tealTemplateCode = tealTemplateCode.replace(new RegExp(UPDATABLE_TEMPLATE_NAME, 'g'), (params.updatable ? 1 : 0).toString())\n }\n\n if (params.deletable !== undefined) {\n if (!tealTemplateCode.includes(DELETABLE_TEMPLATE_NAME)) {\n throw new Error(\n `Deploy-time deletability control requested for app deployment, but ${DELETABLE_TEMPLATE_NAME} not present in TEAL code`,\n )\n }\n tealTemplateCode = tealTemplateCode.replace(new RegExp(DELETABLE_TEMPLATE_NAME, 'g'), (params.deletable ? 1 : 0).toString())\n }\n\n return tealTemplateCode\n }\n\n /**\n * Performs template substitution of a teal file.\n *\n * Looks for `TMPL_{parameter}` for template replacements.\n *\n * @param tealTemplateCode The TEAL template code to make parameter replacements in\n * @param templateParams Any parameters to replace in the teal code\n * @returns The TEAL code with replacements\n */\n static replaceTealTemplateParams(tealTemplateCode: string, templateParams?: TealTemplateParams) {\n if (templateParams !== undefined) {\n for (const key in templateParams) {\n const value = templateParams[key]\n const token = `TMPL_${key.replace(/^TMPL_/, '')}`\n\n // If this is a number, first replace any byte representations of the number\n // These may appear in the TEAL in order to circumvent int compression and preserve PC values\n if (typeof value === 'number' || typeof value === 'bigint') {\n tealTemplateCode = tealTemplateCode.replace(new RegExp(`(?<=bytes )${token}`, 'g'), `0x${value.toString(16).padStart(16, '0')}`)\n\n // We could probably return here since mixing pushint and pushbytes is likely not going to happen, but might as well do both\n }\n\n tealTemplateCode = tealTemplateCode.replace(\n new RegExp(token, 'g'),\n typeof value === 'string'\n ? `0x${Buffer.from(value, 'utf-8').toString('hex')}`\n : ArrayBuffer.isView(value)\n ? `0x${Buffer.from(value).toString('hex')}`\n : value.toString(),\n )\n }\n }\n\n return tealTemplateCode\n }\n\n /**\n * Remove comments from TEAL code (useful to reduce code size before compilation).\n *\n * @param tealCode The TEAL logic to strip\n * @returns The TEAL without comments\n */\n static stripTealComments(tealCode: string) {\n // find // outside quotes, i.e. won't pick up \"//not a comment\"\n const regex = /\\/\\/(?=([^\"\\\\]*(\\\\.|\"([^\"\\\\]*\\\\.)*[^\"\\\\]*\"))*[^\"]*$)/\n\n tealCode = tealCode\n .split('\\n')\n .map((tealCodeLine) => {\n return tealCodeLine.split(regex)[0].trim()\n })\n .join('\\n')\n\n return tealCode\n }\n}\n"],"names":["UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-manager.mjs","sources":["../../src/types/app-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-manager.mjs","sources":["../../src/types/app-manager.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { TransactionSignerAccount } from './account'\nimport {\n BoxName,\n DELETABLE_TEMPLATE_NAME,\n UPDATABLE_TEMPLATE_NAME,\n type ABIReturn,\n type AppState,\n type CompiledTeal,\n type TealTemplateParams,\n} from './app'\nimport modelsv2 = algosdk.modelsv2\n\n/** Information about an app. */\nexport interface AppInformation {\n /** The ID of the app. */\n appId: bigint\n /** The escrow address that the app operates with. */\n appAddress: string\n /**\n * Approval program.\n */\n approvalProgram: Uint8Array\n /**\n * Clear state program.\n */\n clearStateProgram: Uint8Array\n /**\n * The address that created this application. This is the address where the\n * parameters and global state for this application can be found.\n */\n creator: string\n /**\n * Current global state values.\n */\n globalState: AppState\n /** The number of allocated ints in per-user local state. */\n localInts: number\n /** The number of allocated byte slices in per-user local state. */\n localByteSlices: number\n /** The number of allocated ints in global state. */\n globalInts: number\n /** The number of allocated byte slices in global state. */\n globalByteSlices: number\n /** Any extra pages that are needed for the smart contract. */\n extraProgramPages?: number\n}\n\n/**\n * Something that identifies an app box name - either a:\n * * `Uint8Array` (the actual binary of the box name)\n * * `string` (that will be encoded to a `Uint8Array`)\n * * `TransactionSignerAccount` (that will be encoded into the\n * public key address of the corresponding account)\n */\nexport type BoxIdentifier = string | Uint8Array | TransactionSignerAccount\n\n/**\n * A grouping of the app ID and name identifier to reference an app box.\n */\nexport interface BoxReference {\n /**\n * A unique application id\n */\n appId: bigint\n /**\n * Identifier for a box name\n */\n name: BoxIdentifier\n}\n\n/**\n * Parameters to get and decode a box value as an ABI type.\n */\nexport interface BoxValueRequestParams {\n /** The ID of the app return box names for */\n appId: bigint\n /** The name of the box to return either as a string, binary array or `BoxName` */\n boxName: BoxIdentifier\n /** The ABI type to decode the value using */\n type: algosdk.ABIType\n}\n\n/**\n * Parameters to get and decode a box value as an ABI type.\n */\nexport interface BoxValuesRequestParams {\n /** The ID of the app return box names for */\n appId: bigint\n /** The names of the boxes to return either as a string, binary array or BoxName` */\n boxNames: BoxIdentifier[]\n /** The ABI type to decode the value using */\n type: algosdk.ABIType\n}\n\n/** Allows management of application information. */\nexport class AppManager {\n private _algod: algosdk.Algodv2\n private _compilationResults: Record<string, CompiledTeal> = {}\n\n /**\n * Creates an `AppManager`\n * @param algod An algod instance\n */\n constructor(algod: algosdk.Algodv2) {\n this._algod = algod\n }\n\n /**\n * Compiles the given TEAL using algod and returns the result, including source map.\n *\n * The result of this compilation is also cached keyed by the TEAL\n * code so it can be retrieved via `getCompilationResult`.\n *\n * This function is re-entrant; it will only compile the same code once.\n *\n * @param tealCode The TEAL code\n * @returns The information about the compiled file\n */\n async compileTeal(tealCode: string): Promise<CompiledTeal> {\n if (this._compilationResults[tealCode]) {\n return this._compilationResults[tealCode]\n }\n\n const compiled = await this._algod.compile(tealCode).sourcemap(true).do()\n const result = {\n teal: tealCode,\n compiled: compiled.result,\n compiledHash: compiled.hash,\n compiledBase64ToBytes: new Uint8Array(Buffer.from(compiled.result, 'base64')),\n sourceMap: new algosdk.SourceMap(compiled['sourcemap']),\n }\n this._compilationResults[tealCode] = result\n\n return result\n }\n\n /**\n * Performs template substitution of a teal template and compiles it, returning the compiled result.\n *\n * Looks for `TMPL_{parameter}` for template replacements and replaces AlgoKit deploy-time control parameters\n * if deployment metadata is specified.\n *\n * * `TMPL_UPDATABLE` for updatability / immutability control\n * * `TMPL_DELETABLE` for deletability / permanence control\n *\n * @param tealTemplateCode The TEAL logic to compile\n * @param templateParams Any parameters to replace in the .teal file before compiling\n * @param deploymentMetadata The deployment metadata the app will be deployed with\n * @returns The information about the compiled code\n */\n async compileTealTemplate(\n tealTemplateCode: string,\n templateParams?: TealTemplateParams,\n deploymentMetadata?: { updatable?: boolean; deletable?: boolean },\n ): Promise<CompiledTeal> {\n let tealCode = AppManager.stripTealComments(tealTemplateCode)\n\n tealCode = AppManager.replaceTealTemplateParams(tealCode, templateParams)\n\n if (deploymentMetadata) {\n tealCode = AppManager.replaceTealTemplateDeployTimeControlParams(tealCode, deploymentMetadata)\n }\n\n return await this.compileTeal(tealCode)\n }\n\n /**\n * Returns a previous compilation result.\n * @param tealCode The TEAL code\n * @returns The information about the previously compiled file\n * or `undefined` if that TEAL code wasn't previously compiled\n */\n getCompilationResult(tealCode: string): CompiledTeal | undefined {\n return this._compilationResults[tealCode]\n }\n\n /**\n * Returns the current app information for the app with the given ID.\n *\n * @example\n * ```typescript\n * const appInfo = await appManager.getById(12353n);\n * ```\n *\n * @param appId The ID of the app\n * @returns The app information\n */\n public async getById(appId: bigint): Promise<AppInformation> {\n const app = modelsv2.Application.from_obj_for_encoding(await this._algod.getApplicationByID(Number(appId)).do())\n return {\n appId: BigInt(app.id),\n appAddress: algosdk.getApplicationAddress(app.id),\n approvalProgram: app.params.approvalProgram,\n clearStateProgram: app.params.clearStateProgram,\n creator: app.params.creator,\n localInts: Number(app.params.localStateSchema?.numUint ?? 0),\n localByteSlices: Number(app.params.localStateSchema?.numByteSlice ?? 0),\n globalInts: Number(app.params.globalStateSchema?.numUint ?? 0),\n globalByteSlices: Number(app.params.globalStateSchema?.numByteSlice ?? 0),\n extraProgramPages: Number(app.params.extraProgramPages ?? 0),\n globalState: AppManager.decodeAppState(app.params.globalState ?? []),\n }\n }\n\n /**\n * Returns the current global state values for the given app ID and account address\n *\n * @param appId The ID of the app to return global state for\n * @returns The current global state for the given app\n */\n public async getGlobalState(appId: bigint) {\n return (await this.getById(appId)).globalState\n }\n\n /**\n * Returns the current local state values for the given app ID and account address\n *\n * @param appId The ID of the app to return local state for\n * @param address The string address of the account to get local state for the given app\n * @returns The current local state for the given (app, account) combination\n */\n public async getLocalState(appId: bigint, address: string) {\n const appInfo = modelsv2.AccountApplicationResponse.from_obj_for_encoding(\n await this._algod.accountApplicationInformation(address, Number(appId)).do(),\n )\n\n if (!appInfo.appLocalState?.keyValue) {\n throw new Error(\"Couldn't find local state\")\n }\n\n return AppManager.decodeAppState(appInfo.appLocalState.keyValue)\n }\n\n /**\n * Returns the names of the current boxes for the given app.\n * @param appId The ID of the app return box names for\n * @returns The current box names\n */\n public async getBoxNames(appId: bigint): Promise<BoxName[]> {\n const boxResult = await this._algod.getApplicationBoxes(Number(appId)).do()\n return boxResult.boxes.map((b) => {\n return {\n nameRaw: b.name,\n nameBase64: Buffer.from(b.name).toString('base64'),\n name: Buffer.from(b.name).toString('utf-8'),\n }\n })\n }\n\n /**\n * Returns the value of the given box name for the given app.\n * @param appId The ID of the app return box names for\n * @param boxName The name of the box to return either as a string, binary array or `BoxName`\n * @returns The current box value as a byte array\n */\n public async getBoxValue(appId: bigint, boxName: BoxIdentifier): Promise<Uint8Array> {\n const name = AppManager.getBoxReference(boxName).name\n const boxResult = await this._algod.getApplicationBoxByName(Number(appId), name).do()\n return boxResult.value\n }\n\n /**\n * Returns the value of the given box names for the given app.\n * @param appId The ID of the app return box names for\n * @param boxNames The names of the boxes to return either as a string, binary array or `BoxName`\n * @returns The current box values as a byte array in the same order as the passed in box names\n */\n public async getBoxValues(appId: bigint, boxNames: BoxIdentifier[]): Promise<Uint8Array[]> {\n return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValue(appId, boxName)))\n }\n\n /**\n * Returns the value of the given box name for the given app decoded based on the given ABI type.\n * @param request The parameters for the box value request\n * @returns The current box value as an ABI value\n */\n public async getBoxValueFromABIType(request: BoxValueRequestParams): Promise<algosdk.ABIValue> {\n const { appId, boxName, type } = request\n const value = await this.getBoxValue(appId, boxName)\n return type.decode(value)\n }\n\n /**\n * Returns the value of the given box names for the given app decoded based on the given ABI type.\n * @param request The parameters for the box value request\n * @returns The current box values as an ABI value in the same order as the passed in box names\n */\n public async getBoxValuesFromABIType(request: BoxValuesRequestParams): Promise<algosdk.ABIValue[]> {\n const { appId, boxNames, type } = request\n return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValueFromABIType({ appId, boxName, type })))\n }\n\n /**\n * Returns a `algosdk.BoxReference` given a `BoxIdentifier` or `BoxReference`.\n * @param boxId The box to return a reference for\n * @returns The box reference ready to pass into a `algosdk.Transaction`\n */\n public static getBoxReference(boxId: BoxIdentifier | BoxReference): algosdk.BoxReference {\n const ref = typeof boxId === 'object' && 'appId' in boxId ? boxId : { appId: 0n, name: boxId }\n return {\n appIndex: Number(ref.appId),\n name:\n typeof ref.name === 'string'\n ? new TextEncoder().encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(ref.name.addr).publicKey,\n } as algosdk.BoxReference\n }\n\n /**\n * Converts an array of global/local state values from the algod api to a more friendly\n * generic object keyed by the UTF-8 value of the key.\n * @param state A `global-state`, `local-state`, `global-state-deltas` or `local-state-deltas`\n * @returns An object keyeed by the UTF-8 representation of the key with various parsings of the values\n */\n public static decodeAppState(state: { key: string; value: modelsv2.TealValue | modelsv2.EvalDelta }[]): AppState {\n const stateValues = {} as AppState\n\n // Start with empty set\n for (const stateVal of state) {\n const keyBase64 = stateVal.key\n const keyRaw = Buffer.from(keyBase64, 'base64')\n const key = keyRaw.toString('utf-8')\n const tealValue = stateVal.value\n\n const dataTypeFlag = 'action' in tealValue ? tealValue.action : tealValue.type\n let valueBase64: string\n let valueRaw: Buffer\n switch (dataTypeFlag) {\n case 1:\n valueBase64 = tealValue.bytes ?? ''\n valueRaw = Buffer.from(valueBase64, 'base64')\n stateValues[key] = {\n keyRaw,\n keyBase64,\n valueRaw: new Uint8Array(valueRaw),\n valueBase64: valueBase64,\n value: valueRaw.toString('utf-8'),\n }\n break\n case 2: {\n const value = tealValue.uint ?? 0\n stateValues[key] = {\n keyRaw,\n keyBase64,\n value: BigInt(value),\n }\n break\n }\n default:\n throw new Error(`Received unknown state data type of ${dataTypeFlag}`)\n }\n }\n\n return stateValues\n }\n\n /**\n * Returns any ABI return values for the given app call arguments and transaction confirmation.\n * @param confirmation The transaction confirmation from algod\n * @param method The ABI method\n * @returns The return value for the method call\n */\n public static getABIReturn(\n confirmation: modelsv2.PendingTransactionResponse | undefined,\n method: algosdk.ABIMethod | undefined,\n ): ABIReturn | undefined {\n if (!method || !confirmation || method.returns.type === 'void') {\n return undefined\n }\n\n // The parseMethodResponse method mutates the second parameter :(\n const resultDummy: algosdk.ABIResult = {\n txID: '',\n method,\n rawReturnValue: new Uint8Array(),\n }\n const response = algosdk.AtomicTransactionComposer.parseMethodResponse(method, resultDummy, confirmation)\n return !response.decodeError\n ? {\n rawReturnValue: response.rawReturnValue,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n returnValue: response.returnValue!,\n decodeError: undefined,\n }\n : {\n rawReturnValue: undefined,\n returnValue: undefined,\n decodeError: response.decodeError,\n }\n }\n\n /**\n * Replaces AlgoKit deploy-time deployment control parameters within the given TEAL template code.\n *\n * * `TMPL_UPDATABLE` for updatability / immutability control\n * * `TMPL_DELETABLE` for deletability / permanence control\n *\n * Note: If these values are defined, but the corresponding `TMPL_*` value\n * isn't in the teal code it will throw an exception.\n *\n * @param tealTemplateCode The TEAL template code to substitute\n * @param params The deploy-time deployment control parameter value to replace\n * @returns The replaced TEAL code\n */\n static replaceTealTemplateDeployTimeControlParams(tealTemplateCode: string, params: { updatable?: boolean; deletable?: boolean }) {\n if (params.updatable !== undefined) {\n if (!tealTemplateCode.includes(UPDATABLE_TEMPLATE_NAME)) {\n throw new Error(\n `Deploy-time updatability control requested for app deployment, but ${UPDATABLE_TEMPLATE_NAME} not present in TEAL code`,\n )\n }\n tealTemplateCode = tealTemplateCode.replace(new RegExp(UPDATABLE_TEMPLATE_NAME, 'g'), (params.updatable ? 1 : 0).toString())\n }\n\n if (params.deletable !== undefined) {\n if (!tealTemplateCode.includes(DELETABLE_TEMPLATE_NAME)) {\n throw new Error(\n `Deploy-time deletability control requested for app deployment, but ${DELETABLE_TEMPLATE_NAME} not present in TEAL code`,\n )\n }\n tealTemplateCode = tealTemplateCode.replace(new RegExp(DELETABLE_TEMPLATE_NAME, 'g'), (params.deletable ? 1 : 0).toString())\n }\n\n return tealTemplateCode\n }\n\n /**\n * Performs template substitution of a teal file.\n *\n * Looks for `TMPL_{parameter}` for template replacements.\n *\n * @param tealTemplateCode The TEAL template code to make parameter replacements in\n * @param templateParams Any parameters to replace in the teal code\n * @returns The TEAL code with replacements\n */\n static replaceTealTemplateParams(tealTemplateCode: string, templateParams?: TealTemplateParams) {\n if (templateParams !== undefined) {\n for (const key in templateParams) {\n const value = templateParams[key]\n const token = `TMPL_${key.replace(/^TMPL_/, '')}`\n\n // If this is a number, first replace any byte representations of the number\n // These may appear in the TEAL in order to circumvent int compression and preserve PC values\n if (typeof value === 'number' || typeof value === 'bigint') {\n tealTemplateCode = tealTemplateCode.replace(new RegExp(`(?<=bytes )${token}`, 'g'), `0x${value.toString(16).padStart(16, '0')}`)\n\n // We could probably return here since mixing pushint and pushbytes is likely not going to happen, but might as well do both\n }\n\n tealTemplateCode = tealTemplateCode.replace(\n new RegExp(token, 'g'),\n typeof value === 'string'\n ? `0x${Buffer.from(value, 'utf-8').toString('hex')}`\n : ArrayBuffer.isView(value)\n ? `0x${Buffer.from(value).toString('hex')}`\n : value.toString(),\n )\n }\n }\n\n return tealTemplateCode\n }\n\n /**\n * Remove comments from TEAL code (useful to reduce code size before compilation).\n *\n * @param tealCode The TEAL logic to strip\n * @returns The TEAL without comments\n */\n static stripTealComments(tealCode: string) {\n // find // outside quotes, i.e. won't pick up \"//not a comment\"\n const regex = /\\/\\/(?=([^\"\\\\]*(\\\\.|\"([^\"\\\\]*\\\\.)*[^\"\\\\]*\"))*[^\"]*$)/\n\n tealCode = tealCode\n .split('\\n')\n .map((tealCodeLine) => {\n return tealCodeLine.split(regex)[0].trim()\n })\n .join('\\n')\n\n return tealCode\n }\n}\n"],"names":[],"mappings":"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"}
|
package/types/app-spec.d.ts
CHANGED
package/types/app-spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-spec.js","sources":["../../src/types/app-spec.ts"],"sourcesContent":[null],"names":["getABIEncodedValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-spec.js","sources":["../../src/types/app-spec.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { Arc56Contract, Method as Arc56Method, StorageKey, StructFields, getABIEncodedValue } from './app-arc56'\nimport ABIContractParams = algosdk.ABIContractParams\nimport ABIMethodParams = algosdk.ABIMethodParams\nimport ABIMethod = algosdk.ABIMethod\n\nexport function arc32ToArc56(appSpec: AppSpec): Arc56Contract {\n const arc32Structs = Object.values(appSpec.hints).flatMap((hint) => Object.entries(hint.structs ?? {}))\n const structs = Object.fromEntries(\n arc32Structs.map(([_, struct]) => {\n const fields = Object.fromEntries(struct.elements.map((e) => [e[0], e[1]]))\n return [struct.name, fields satisfies StructFields]\n }),\n ) satisfies { [structName: string]: StructFields }\n const hint = (m: ABIMethodParams) => appSpec.hints[new ABIMethod(m).getSignature()] as Hint | undefined\n const actions = (m: ABIMethodParams, type: 'CREATE' | 'CALL') => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n return hint(m)?.call_config !== undefined ? callConfigToActions(hint(m)?.call_config!, type) : []\n }\n const bareActions = (type: 'CREATE' | 'CALL') => {\n return callConfigToActions(appSpec.bare_call_config, type)\n }\n const callConfigToActions = (c: CallConfig, type: 'CREATE' | 'CALL') => {\n const actions: ('NoOp' | 'OptIn' | 'CloseOut' | 'ClearState' | 'UpdateApplication' | 'DeleteApplication')[] = []\n if (c.close_out && ['ALL', type].includes(c.close_out)) actions.push('CloseOut')\n if (c.delete_application && ['ALL', type].includes(c.delete_application)) actions.push('DeleteApplication')\n if (c.no_op && ['ALL', type].includes(c.no_op)) actions.push('NoOp')\n if (c.opt_in && ['ALL', type].includes(c.opt_in)) actions.push('OptIn')\n if (c.update_application && ['ALL', type].includes(c.update_application)) actions.push('UpdateApplication')\n return actions\n }\n\n return {\n arcs: [],\n name: appSpec.contract.name,\n desc: appSpec.contract.desc,\n structs: structs,\n methods: appSpec.contract.methods.map(\n (m) =>\n ({\n name: m.name,\n desc: m.desc,\n args: m.args.map((a) => ({\n name: a.name,\n type: a.type,\n desc: a.desc,\n struct: a.name ? hint(m)?.structs?.[a.name]?.name : undefined,\n defaultValue:\n a.name && hint(m)?.default_arguments?.[a.name].source === 'constant'\n ? Buffer.from(getABIEncodedValue(hint(m)!.default_arguments![a.name].data as string | number, a.type, structs)).toString(\n 'base64',\n )\n : undefined,\n })),\n returns: {\n type: m.returns.type,\n desc: m.returns.desc,\n struct: hint(m)?.structs?.output?.name,\n },\n events: [],\n readonly: hint(m)?.read_only,\n actions: {\n create: actions(m, 'CREATE') as Arc56Method['actions']['create'],\n call: actions(m, 'CALL'),\n },\n }) satisfies Arc56Method,\n ),\n state: {\n schema: {\n global: {\n ints: appSpec.state.global.num_uints,\n bytes: appSpec.state.global.num_byte_slices,\n },\n local: {\n ints: appSpec.state.local.num_uints,\n bytes: appSpec.state.local.num_byte_slices,\n },\n },\n keys: {\n global: Object.fromEntries(\n Object.entries(appSpec.schema.global.declared).map((s) => [\n s[0],\n {\n key: Buffer.from(s[1].key, 'utf-8').toString('base64'),\n keyType: 'bytes',\n valueType: s[1].type,\n desc: s[1].descr,\n } satisfies StorageKey,\n ]),\n ),\n local: Object.fromEntries(\n Object.entries(appSpec.schema.local.declared).map((s) => [\n s[0],\n {\n key: Buffer.from(s[1].key, 'utf-8').toString('base64'),\n keyType: 'bytes',\n valueType: s[1].type,\n desc: s[1].descr,\n } satisfies StorageKey,\n ]),\n ),\n box: {},\n },\n maps: {\n global: {},\n local: {},\n box: {},\n },\n },\n source: appSpec.source,\n bareActions: {\n create: bareActions('CREATE') as unknown as Arc56Contract['bareActions']['create'],\n call: bareActions('CALL'),\n },\n byteCode: undefined,\n compilerInfo: undefined,\n events: undefined,\n networks: undefined,\n scratchVariables: undefined,\n sourceInfo: undefined,\n templateVariables: undefined,\n } satisfies Arc56Contract\n}\n\n/** An ARC-0032 Application Specification see https://github.com/algorandfoundation/ARCs/pull/150 */\nexport interface AppSpec {\n /** Method call hints */\n hints: HintSpec\n /** The TEAL source */\n source: AppSources\n /** The ABI-0004 contract definition see https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0004.md */\n contract: ABIContractParams\n /** The values that make up the local and global state */\n schema: SchemaSpec\n /** The rolled-up schema allocation values for local and global state */\n state: StateSchemaSpec\n /** The config of all BARE calls (i.e. non ABI calls with no args) */\n bare_call_config: CallConfig\n}\n\n/** A lookup of encoded method call spec to hint */\nexport type HintSpec = Record<string, Hint>\n\n/** The TEAL source of a contract */\nexport interface AppSources {\n /** The TEAL source of the approval program */\n approval: string\n /** The TEAL source of the clear program */\n clear: string\n}\n\n/** The various call configs:\n * * `NEVER`: Will not be called\n * * `CALL`: Can be called during a non-create call i.e. app id != 0\n * * `CREATE`: Can be called during a create call i.e. app id = 0\n * * `ALL`: Can be during a create OR non-create call\n **/\nexport type CallConfigValue = 'NEVER' | 'CALL' | 'CREATE' | 'ALL'\n\n/** Call configuration for a method */\nexport interface CallConfig {\n /** NoOp call config */\n no_op?: CallConfigValue\n /** Opt-in call config */\n opt_in?: CallConfigValue\n /** Close out call config */\n close_out?: CallConfigValue\n /** Update call config */\n update_application?: CallConfigValue\n /** Delete call config */\n delete_application?: CallConfigValue\n}\n\n/** Hint information for a given method call to allow client generation */\nexport interface Hint {\n /** Any user-defined struct/tuple types used in the method call, keyed by parameter name or `output` for return type */\n structs?: Record<string, Struct>\n read_only?: boolean\n default_arguments?: Record<string, DefaultArgument>\n call_config: CallConfig\n}\n\n/** The name of a field */\nexport type FieldName = string\n\n/** The string name of an ABI type */\nexport type ABIType = string\n\n/** The elements of the struct/tuple: `FieldName`, `ABIType` */\nexport type StructElement = [FieldName, ABIType]\n\n/** A user-defined struct/tuple type */\nexport interface Struct {\n /** The name of the type */\n name: string\n /** The elements (in order) that make up the struct/tuple */\n elements: StructElement[]\n}\n\n/**\n * Defines a strategy for obtaining a default value for a given ABI arg.\n */\nexport type DefaultArgument =\n | {\n /**\n * The default value should be fetched by invoking an ABI method\n */\n source: 'abi-method'\n data: ABIMethodParams\n }\n | {\n /**\n * The default value should be fetched from global state\n */\n source: 'global-state'\n /**\n * The key of the state variable\n */\n data: string\n }\n | {\n /**\n * The default value should be fetched from the local state of the sender user\n */\n source: 'local-state'\n /**\n * The key of the state variable\n */\n data: string\n }\n | {\n /**\n * The default value is a constant.\n */\n source: 'constant'\n /**\n * The static default value to use.\n */\n data: string | number\n }\n\n/** AVM data type */\nexport type AVMType = 'uint64' | 'bytes'\n\n/** Declared schema value specification */\nexport interface DeclaredSchemaValueSpec {\n /** The type of value */\n type: AVMType\n /** The name of the key */\n key: string\n /** A description of the variable */\n descr?: string\n /** Whether or not the value is set statically (at create time only) or dynamically */\n static?: boolean\n}\n\n/** Reserved schema value specification */\nexport interface ReservedSchemaValueSpec {\n /** The type of value */\n type: AVMType\n /** The description of the reserved storage space */\n descr: string\n /** The maximum number of slots to reserve */\n max_keys: number\n}\n\n/** The schema for global and local storage */\nexport interface SchemaSpec {\n /** The local storage schema */\n local: Schema\n /** The global storage schema */\n global: Schema\n}\n\n/** The storage schema definition */\nexport interface Schema {\n /** Declared storage schema */\n declared: Record<string, DeclaredSchemaValueSpec>\n /** Reserved storage schema */\n reserved: Record<string, ReservedSchemaValueSpec>\n}\n\n/** The rolled-up schema allocation specification for local and global state */\nexport interface StateSchemaSpec {\n /** Global storage spec */\n global: StateSchema\n /** Local storage spec */\n local: StateSchema\n}\n\n/** Schema spec summary for global or local storage */\nexport type StateSchema = {\n /** Number of uint slots */\n num_uints: number\n /** Number of byte slots */\n num_byte_slices: number\n}\n"],"names":["getABIEncodedValue"],"mappings":"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"}
|