@algorandfoundation/algokit-utils 7.0.0-beta.9 → 7.0.1
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/LICENSE +21 -0
- package/README.md +9 -2
- package/account/account.js +6 -4
- package/account/account.js.map +1 -1
- package/account/account.mjs +6 -4
- package/account/account.mjs.map +1 -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.js.map +1 -1
- package/account/get-account.mjs.map +1 -1
- package/account/get-dispenser-account.js.map +1 -1
- package/account/get-dispenser-account.mjs.map +1 -1
- package/account/mnemonic-account.js.map +1 -1
- package/account/mnemonic-account.mjs.map +1 -1
- package/amount.js.map +1 -1
- package/amount.mjs.map +1 -1
- package/app-client.js.map +1 -1
- package/app-client.mjs.map +1 -1
- package/app-deploy.js +2 -10
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs +3 -11
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +2 -2
- package/app.js +2 -2
- package/app.js.map +1 -1
- package/app.mjs +2 -2
- package/app.mjs.map +1 -1
- package/asset.js.map +1 -1
- package/asset.mjs.map +1 -1
- package/debugging/debugging.js.map +1 -1
- package/debugging/debugging.mjs.map +1 -1
- package/dispenser-client.js.map +1 -1
- package/dispenser-client.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +6 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -1
- package/index.mjs.map +1 -1
- package/indexer-lookup.js.map +1 -1
- package/indexer-lookup.mjs.map +1 -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.js.map +1 -1
- package/localnet/get-localnet-dispenser-account.mjs.map +1 -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/is-localnet.js.map +1 -1
- package/localnet/is-localnet.mjs.map +1 -1
- package/network-client.js.map +1 -1
- package/network-client.mjs.map +1 -1
- package/package.json +5 -5
- package/testing/account.js.map +1 -1
- package/testing/account.mjs.map +1 -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.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/testing/indexer.js.map +1 -1
- package/testing/indexer.mjs.map +1 -1
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs.map +1 -1
- package/testing/transaction-logger.js.map +1 -1
- package/testing/transaction-logger.mjs.map +1 -1
- package/transaction/legacy-bridge.js +2 -2
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs +3 -3
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.js +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.mjs +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -1
- package/transaction/transaction.d.ts +14 -7
- package/transaction/transaction.js +57 -31
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +55 -30
- package/transaction/transaction.mjs.map +1 -1
- package/transfer/transfer-algos.js.map +1 -1
- package/transfer/transfer-algos.mjs.map +1 -1
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +1 -1
- package/types/account-manager.js +10 -8
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +11 -9
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +9 -0
- package/types/account.js.map +1 -1
- package/types/account.mjs.map +1 -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 +2 -2
- package/types/algorand-client-transaction-creator.d.ts +5 -3
- package/types/algorand-client-transaction-creator.js +3 -1
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs +3 -1
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +12 -8
- package/types/algorand-client-transaction-sender.js +6 -2
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +6 -2
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +3 -4
- package/types/algorand-client.js +2 -5
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +4 -4
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.js.map +1 -1
- package/types/amount.mjs.map +1 -1
- package/types/app-arc56.d.ts +31 -20
- package/types/app-arc56.js.map +1 -1
- package/types/app-arc56.mjs.map +1 -1
- package/types/app-client.d.ts +21 -10
- package/types/app-client.js +143 -36
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +141 -34
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.js +1 -1
- package/types/app-deployer.js.map +1 -1
- package/types/app-deployer.mjs +2 -2
- package/types/app-deployer.mjs.map +1 -1
- package/types/app-factory.d.ts +32 -21
- package/types/app-factory.js +8 -2
- package/types/app-factory.js.map +1 -1
- package/types/app-factory.mjs +8 -2
- package/types/app-factory.mjs.map +1 -1
- package/types/app-manager.js +105 -23
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs +105 -23
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.js +8 -2
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +8 -2
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +8 -7
- package/types/app.js.map +1 -1
- package/types/app.mjs.map +1 -1
- package/types/asset-manager.d.ts +4 -4
- package/types/asset-manager.js +2 -2
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +2 -2
- package/types/asset-manager.mjs.map +1 -1
- package/types/async-event-emitter.d.ts +1 -10
- package/types/async-event-emitter.js +0 -5
- package/types/async-event-emitter.js.map +1 -1
- package/types/async-event-emitter.mjs +1 -6
- package/types/async-event-emitter.mjs.map +1 -1
- package/types/client-manager.js +2 -2
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +2 -2
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +56 -30
- package/types/composer.js +103 -47
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +104 -46
- package/types/composer.mjs.map +1 -1
- package/types/config.d.ts +0 -4
- package/types/config.js.map +1 -1
- package/types/config.mjs.map +1 -1
- package/types/debugging.d.ts +1 -1
- package/types/debugging.js +1 -1
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs +1 -1
- package/types/debugging.mjs.map +1 -1
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs.map +1 -1
- package/types/indexer.js.map +1 -1
- package/types/indexer.mjs.map +1 -1
- package/types/kmd-account-manager.js +1 -1
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +2 -2
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/lifecycle-events.d.ts +10 -0
- package/types/lifecycle-events.js +8 -0
- package/types/lifecycle-events.js.map +1 -0
- package/types/lifecycle-events.mjs +8 -0
- package/types/lifecycle-events.mjs.map +1 -0
- package/types/logging.js.map +1 -1
- package/types/logging.mjs.map +1 -1
- package/types/logic-error.d.ts +2 -3
- package/types/logic-error.js +3 -3
- package/types/logic-error.js.map +1 -1
- package/types/logic-error.mjs +3 -3
- package/types/logic-error.mjs.map +1 -1
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +1 -1
- package/types/transaction.d.ts +1 -1
- package/types/urlTokenBaseHTTPClient.js.map +1 -1
- package/types/urlTokenBaseHTTPClient.mjs.map +1 -1
- package/util.js.map +1 -1
- package/util.mjs.map +1 -1
package/asset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sources":["../src/asset.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { encodeTransactionNote, getSenderAddress } from './transaction'\nimport { legacySendTransactionBridge } from './transaction/legacy-bridge'\nimport { AlgorandClient } from './types/algorand-client'\nimport { AssetBulkOptInOutParams, AssetOptInParams, AssetOptOutParams, CreateAssetParams } from './types/asset'\nimport { AssetCreateParams, AssetOptInParams as NewAssetOptInParams, AssetOptOutParams as NewAssetOptOutParams } from './types/composer'\nimport { SendTransactionResult } from './types/transaction'\nimport Algodv2 = algosdk.Algodv2\n\n/**\n * @deprecated use `algorand.send.assetCreate()` / `algorand.createTransaction.assetCreate()` instead\n *\n * Create an Algorand Standard Asset (ASA).\n * @param create The asset creation definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.createAsset({ creator: account, total: 1, decimals: 0, name: 'My asset' }, algod)\n * ```\n */\nexport async function createAsset(\n create: CreateAssetParams,\n algod: Algodv2,\n): Promise<SendTransactionResult & { confirmation?: { assetIndex: number | bigint } }> {\n const params: AssetCreateParams = {\n sender: getSenderAddress(create.creator),\n total: BigInt(create.total),\n decimals: create.decimals,\n assetName: create.name,\n unitName: create.unit,\n manager: create.manager ? getSenderAddress(create.manager) : undefined,\n clawback: create.clawbackAccount ? getSenderAddress(create.clawbackAccount) : undefined,\n freeze: create.freezeAccount ? getSenderAddress(create.freezeAccount) : undefined,\n reserve: create.reserveAccount ? getSenderAddress(create.reserveAccount) : undefined,\n defaultFrozen: create.frozenByDefault,\n lease: create.lease,\n metadataHash: create.metadataHash,\n note: encodeTransactionNote(create.note),\n url: create.url,\n }\n\n return (await legacySendTransactionBridge(\n algod,\n create.creator,\n create,\n params,\n (client) => client.assetCreate,\n (client) => client.assetCreate,\n )) as SendTransactionResult & { confirmation: { assetIndex: number | bigint } }\n}\n\n/**\n * @deprecated use `algorand.send.assetOptIn()` / `algorand.createTransaction.assetOptIn()` instead\n *\n * Opt-in an account to an asset.\n * @param optIn The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptIn({ account, assetId }, algod)\n * ```\n */\nexport async function assetOptIn(optIn: AssetOptInParams, algod: Algodv2): Promise<SendTransactionResult> {\n const params: NewAssetOptInParams = {\n assetId: BigInt(optIn.assetId),\n sender: getSenderAddress(optIn.account),\n note: encodeTransactionNote(optIn.note),\n lease: optIn.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optIn.account,\n optIn,\n params,\n (c) => c.assetOptIn,\n (c) => c.assetOptIn,\n )\n}\n\n/**\n * @deprecated use `algorand.send.assetOptOut()` / `algorand.createTransaction.assetOptOut()` instead\n *\n * Opt-out an account from an asset.\n * @param optOut The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptOut({ account, assetId, assetCreatorAddress }, algod)\n * ```\n */\nexport async function assetOptOut(optOut: AssetOptOutParams, algod: Algodv2): Promise<SendTransactionResult> {\n const assetCreatorAddress = optOut.assetCreatorAddress ?? (await algod.getAssetByID(optOut.assetId).do()).params.creator\n\n const params: NewAssetOptOutParams = {\n assetId: BigInt(optOut.assetId),\n creator: assetCreatorAddress,\n sender: getSenderAddress(optOut.account),\n note: encodeTransactionNote(optOut.note),\n lease: optOut.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optOut.account,\n optOut,\n params,\n (c) => c.assetOptOut,\n (c) => (params: NewAssetOptOutParams) => c.assetOptOut({ ...params, ensureZeroBalance: optOut.ensureZeroBalance ?? true }),\n )\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptIn()` instead\n *\n * Opt in to a list of assets on the Algorand blockchain.\n *\n * @param optIn - The bulk opt-in request.\n * @param algod - An instance of the Algodv2 class from the `algosdk` library.\n * @returns A record object where the keys are the asset IDs and the values are the corresponding transaction IDs for successful opt-ins.\n * @throws If there is an error during the opt-in process.\n * @example algokit.bulkOptIn({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptIn(optIn: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optIn.account)\n .asset.bulkOptIn(getSenderAddress(optIn.account), optIn.assetIds.map(BigInt), {\n note: encodeTransactionNote(optIn.note),\n maxFee: optIn.maxFee,\n suppressLog: optIn.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptOut()` instead\n *\n * Opt out of multiple assets in Algorand blockchain.\n *\n * @param optOut The bulk opt-out request.\n * @param algod - An instance of the Algodv2 client used to interact with the Algorand blockchain.\n * @returns A record object containing asset IDs as keys and their corresponding transaction IDs as values.\n * @throws If there is an error during the opt-out process.\n * @example algokit.bulkOptOut({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptOut(optOut: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optOut.account)\n .asset.bulkOptOut(getSenderAddress(optOut.account), optOut.assetIds.map(BigInt), {\n ensureZeroBalance: optOut.validateBalances ?? true,\n note: encodeTransactionNote(optOut.note),\n maxFee: optOut.maxFee,\n suppressLog: optOut.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n"],"names":["getSenderAddress","encodeTransactionNote","legacySendTransactionBridge","AlgorandClient"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asset.js","sources":["../src/asset.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { encodeTransactionNote, getSenderAddress } from './transaction'\nimport { legacySendTransactionBridge } from './transaction/legacy-bridge'\nimport { AlgorandClient } from './types/algorand-client'\nimport { AssetBulkOptInOutParams, AssetOptInParams, AssetOptOutParams, CreateAssetParams } from './types/asset'\nimport { AssetCreateParams, AssetOptInParams as NewAssetOptInParams, AssetOptOutParams as NewAssetOptOutParams } from './types/composer'\nimport { SendTransactionResult } from './types/transaction'\nimport Algodv2 = algosdk.Algodv2\n\n/**\n * @deprecated use `algorand.send.assetCreate()` / `algorand.createTransaction.assetCreate()` instead\n *\n * Create an Algorand Standard Asset (ASA).\n * @param create The asset creation definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.createAsset({ creator: account, total: 1, decimals: 0, name: 'My asset' }, algod)\n * ```\n */\nexport async function createAsset(\n create: CreateAssetParams,\n algod: Algodv2,\n): Promise<SendTransactionResult & { confirmation?: { assetIndex: number | bigint } }> {\n const params: AssetCreateParams = {\n sender: getSenderAddress(create.creator),\n total: BigInt(create.total),\n decimals: create.decimals,\n assetName: create.name,\n unitName: create.unit,\n manager: create.manager ? getSenderAddress(create.manager) : undefined,\n clawback: create.clawbackAccount ? getSenderAddress(create.clawbackAccount) : undefined,\n freeze: create.freezeAccount ? getSenderAddress(create.freezeAccount) : undefined,\n reserve: create.reserveAccount ? getSenderAddress(create.reserveAccount) : undefined,\n defaultFrozen: create.frozenByDefault,\n lease: create.lease,\n metadataHash: create.metadataHash,\n note: encodeTransactionNote(create.note),\n url: create.url,\n }\n\n return (await legacySendTransactionBridge(\n algod,\n create.creator,\n create,\n params,\n (client) => client.assetCreate,\n (client) => client.assetCreate,\n )) as SendTransactionResult & { confirmation: { assetIndex: number | bigint } }\n}\n\n/**\n * @deprecated use `algorand.send.assetOptIn()` / `algorand.createTransaction.assetOptIn()` instead\n *\n * Opt-in an account to an asset.\n * @param optIn The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptIn({ account, assetId }, algod)\n * ```\n */\nexport async function assetOptIn(optIn: AssetOptInParams, algod: Algodv2): Promise<SendTransactionResult> {\n const params: NewAssetOptInParams = {\n assetId: BigInt(optIn.assetId),\n sender: getSenderAddress(optIn.account),\n note: encodeTransactionNote(optIn.note),\n lease: optIn.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optIn.account,\n optIn,\n params,\n (c) => c.assetOptIn,\n (c) => c.assetOptIn,\n )\n}\n\n/**\n * @deprecated use `algorand.send.assetOptOut()` / `algorand.createTransaction.assetOptOut()` instead\n *\n * Opt-out an account from an asset.\n * @param optOut The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptOut({ account, assetId, assetCreatorAddress }, algod)\n * ```\n */\nexport async function assetOptOut(optOut: AssetOptOutParams, algod: Algodv2): Promise<SendTransactionResult> {\n const assetCreatorAddress = optOut.assetCreatorAddress ?? (await algod.getAssetByID(optOut.assetId).do()).params.creator\n\n const params: NewAssetOptOutParams = {\n assetId: BigInt(optOut.assetId),\n creator: assetCreatorAddress,\n sender: getSenderAddress(optOut.account),\n note: encodeTransactionNote(optOut.note),\n lease: optOut.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optOut.account,\n optOut,\n params,\n (c) => c.assetOptOut,\n (c) => (params: NewAssetOptOutParams) => c.assetOptOut({ ...params, ensureZeroBalance: optOut.ensureZeroBalance ?? true }),\n )\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptIn()` instead\n *\n * Opt in to a list of assets on the Algorand blockchain.\n *\n * @param optIn - The bulk opt-in request.\n * @param algod - An instance of the Algodv2 class from the `algosdk` library.\n * @returns A record object where the keys are the asset IDs and the values are the corresponding transaction IDs for successful opt-ins.\n * @throws If there is an error during the opt-in process.\n * @example algokit.bulkOptIn({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptIn(optIn: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optIn.account)\n .asset.bulkOptIn(getSenderAddress(optIn.account), optIn.assetIds.map(BigInt), {\n note: encodeTransactionNote(optIn.note),\n maxFee: optIn.maxFee,\n suppressLog: optIn.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptOut()` instead\n *\n * Opt out of multiple assets in Algorand blockchain.\n *\n * @param optOut The bulk opt-out request.\n * @param algod - An instance of the Algodv2 client used to interact with the Algorand blockchain.\n * @returns A record object containing asset IDs as keys and their corresponding transaction IDs as values.\n * @throws If there is an error during the opt-out process.\n * @example algokit.bulkOptOut({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptOut(optOut: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optOut.account)\n .asset.bulkOptOut(getSenderAddress(optOut.account), optOut.assetIds.map(BigInt), {\n ensureZeroBalance: optOut.validateBalances ?? true,\n note: encodeTransactionNote(optOut.note),\n maxFee: optOut.maxFee,\n suppressLog: optOut.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n"],"names":["getSenderAddress","encodeTransactionNote","legacySendTransactionBridge","AlgorandClient"],"mappings":"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"}
|
package/asset.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.mjs","sources":["../src/asset.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { encodeTransactionNote, getSenderAddress } from './transaction'\nimport { legacySendTransactionBridge } from './transaction/legacy-bridge'\nimport { AlgorandClient } from './types/algorand-client'\nimport { AssetBulkOptInOutParams, AssetOptInParams, AssetOptOutParams, CreateAssetParams } from './types/asset'\nimport { AssetCreateParams, AssetOptInParams as NewAssetOptInParams, AssetOptOutParams as NewAssetOptOutParams } from './types/composer'\nimport { SendTransactionResult } from './types/transaction'\nimport Algodv2 = algosdk.Algodv2\n\n/**\n * @deprecated use `algorand.send.assetCreate()` / `algorand.createTransaction.assetCreate()` instead\n *\n * Create an Algorand Standard Asset (ASA).\n * @param create The asset creation definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.createAsset({ creator: account, total: 1, decimals: 0, name: 'My asset' }, algod)\n * ```\n */\nexport async function createAsset(\n create: CreateAssetParams,\n algod: Algodv2,\n): Promise<SendTransactionResult & { confirmation?: { assetIndex: number | bigint } }> {\n const params: AssetCreateParams = {\n sender: getSenderAddress(create.creator),\n total: BigInt(create.total),\n decimals: create.decimals,\n assetName: create.name,\n unitName: create.unit,\n manager: create.manager ? getSenderAddress(create.manager) : undefined,\n clawback: create.clawbackAccount ? getSenderAddress(create.clawbackAccount) : undefined,\n freeze: create.freezeAccount ? getSenderAddress(create.freezeAccount) : undefined,\n reserve: create.reserveAccount ? getSenderAddress(create.reserveAccount) : undefined,\n defaultFrozen: create.frozenByDefault,\n lease: create.lease,\n metadataHash: create.metadataHash,\n note: encodeTransactionNote(create.note),\n url: create.url,\n }\n\n return (await legacySendTransactionBridge(\n algod,\n create.creator,\n create,\n params,\n (client) => client.assetCreate,\n (client) => client.assetCreate,\n )) as SendTransactionResult & { confirmation: { assetIndex: number | bigint } }\n}\n\n/**\n * @deprecated use `algorand.send.assetOptIn()` / `algorand.createTransaction.assetOptIn()` instead\n *\n * Opt-in an account to an asset.\n * @param optIn The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptIn({ account, assetId }, algod)\n * ```\n */\nexport async function assetOptIn(optIn: AssetOptInParams, algod: Algodv2): Promise<SendTransactionResult> {\n const params: NewAssetOptInParams = {\n assetId: BigInt(optIn.assetId),\n sender: getSenderAddress(optIn.account),\n note: encodeTransactionNote(optIn.note),\n lease: optIn.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optIn.account,\n optIn,\n params,\n (c) => c.assetOptIn,\n (c) => c.assetOptIn,\n )\n}\n\n/**\n * @deprecated use `algorand.send.assetOptOut()` / `algorand.createTransaction.assetOptOut()` instead\n *\n * Opt-out an account from an asset.\n * @param optOut The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptOut({ account, assetId, assetCreatorAddress }, algod)\n * ```\n */\nexport async function assetOptOut(optOut: AssetOptOutParams, algod: Algodv2): Promise<SendTransactionResult> {\n const assetCreatorAddress = optOut.assetCreatorAddress ?? (await algod.getAssetByID(optOut.assetId).do()).params.creator\n\n const params: NewAssetOptOutParams = {\n assetId: BigInt(optOut.assetId),\n creator: assetCreatorAddress,\n sender: getSenderAddress(optOut.account),\n note: encodeTransactionNote(optOut.note),\n lease: optOut.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optOut.account,\n optOut,\n params,\n (c) => c.assetOptOut,\n (c) => (params: NewAssetOptOutParams) => c.assetOptOut({ ...params, ensureZeroBalance: optOut.ensureZeroBalance ?? true }),\n )\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptIn()` instead\n *\n * Opt in to a list of assets on the Algorand blockchain.\n *\n * @param optIn - The bulk opt-in request.\n * @param algod - An instance of the Algodv2 class from the `algosdk` library.\n * @returns A record object where the keys are the asset IDs and the values are the corresponding transaction IDs for successful opt-ins.\n * @throws If there is an error during the opt-in process.\n * @example algokit.bulkOptIn({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptIn(optIn: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optIn.account)\n .asset.bulkOptIn(getSenderAddress(optIn.account), optIn.assetIds.map(BigInt), {\n note: encodeTransactionNote(optIn.note),\n maxFee: optIn.maxFee,\n suppressLog: optIn.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptOut()` instead\n *\n * Opt out of multiple assets in Algorand blockchain.\n *\n * @param optOut The bulk opt-out request.\n * @param algod - An instance of the Algodv2 client used to interact with the Algorand blockchain.\n * @returns A record object containing asset IDs as keys and their corresponding transaction IDs as values.\n * @throws If there is an error during the opt-out process.\n * @example algokit.bulkOptOut({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptOut(optOut: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optOut.account)\n .asset.bulkOptOut(getSenderAddress(optOut.account), optOut.assetIds.map(BigInt), {\n ensureZeroBalance: optOut.validateBalances ?? true,\n note: encodeTransactionNote(optOut.note),\n maxFee: optOut.maxFee,\n suppressLog: optOut.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asset.mjs","sources":["../src/asset.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { encodeTransactionNote, getSenderAddress } from './transaction'\nimport { legacySendTransactionBridge } from './transaction/legacy-bridge'\nimport { AlgorandClient } from './types/algorand-client'\nimport { AssetBulkOptInOutParams, AssetOptInParams, AssetOptOutParams, CreateAssetParams } from './types/asset'\nimport { AssetCreateParams, AssetOptInParams as NewAssetOptInParams, AssetOptOutParams as NewAssetOptOutParams } from './types/composer'\nimport { SendTransactionResult } from './types/transaction'\nimport Algodv2 = algosdk.Algodv2\n\n/**\n * @deprecated use `algorand.send.assetCreate()` / `algorand.createTransaction.assetCreate()` instead\n *\n * Create an Algorand Standard Asset (ASA).\n * @param create The asset creation definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.createAsset({ creator: account, total: 1, decimals: 0, name: 'My asset' }, algod)\n * ```\n */\nexport async function createAsset(\n create: CreateAssetParams,\n algod: Algodv2,\n): Promise<SendTransactionResult & { confirmation?: { assetIndex: number | bigint } }> {\n const params: AssetCreateParams = {\n sender: getSenderAddress(create.creator),\n total: BigInt(create.total),\n decimals: create.decimals,\n assetName: create.name,\n unitName: create.unit,\n manager: create.manager ? getSenderAddress(create.manager) : undefined,\n clawback: create.clawbackAccount ? getSenderAddress(create.clawbackAccount) : undefined,\n freeze: create.freezeAccount ? getSenderAddress(create.freezeAccount) : undefined,\n reserve: create.reserveAccount ? getSenderAddress(create.reserveAccount) : undefined,\n defaultFrozen: create.frozenByDefault,\n lease: create.lease,\n metadataHash: create.metadataHash,\n note: encodeTransactionNote(create.note),\n url: create.url,\n }\n\n return (await legacySendTransactionBridge(\n algod,\n create.creator,\n create,\n params,\n (client) => client.assetCreate,\n (client) => client.assetCreate,\n )) as SendTransactionResult & { confirmation: { assetIndex: number | bigint } }\n}\n\n/**\n * @deprecated use `algorand.send.assetOptIn()` / `algorand.createTransaction.assetOptIn()` instead\n *\n * Opt-in an account to an asset.\n * @param optIn The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptIn({ account, assetId }, algod)\n * ```\n */\nexport async function assetOptIn(optIn: AssetOptInParams, algod: Algodv2): Promise<SendTransactionResult> {\n const params: NewAssetOptInParams = {\n assetId: BigInt(optIn.assetId),\n sender: getSenderAddress(optIn.account),\n note: encodeTransactionNote(optIn.note),\n lease: optIn.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optIn.account,\n optIn,\n params,\n (c) => c.assetOptIn,\n (c) => c.assetOptIn,\n )\n}\n\n/**\n * @deprecated use `algorand.send.assetOptOut()` / `algorand.createTransaction.assetOptOut()` instead\n *\n * Opt-out an account from an asset.\n * @param optOut The opt-in definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.assetOptOut({ account, assetId, assetCreatorAddress }, algod)\n * ```\n */\nexport async function assetOptOut(optOut: AssetOptOutParams, algod: Algodv2): Promise<SendTransactionResult> {\n const assetCreatorAddress = optOut.assetCreatorAddress ?? (await algod.getAssetByID(optOut.assetId).do()).params.creator\n\n const params: NewAssetOptOutParams = {\n assetId: BigInt(optOut.assetId),\n creator: assetCreatorAddress,\n sender: getSenderAddress(optOut.account),\n note: encodeTransactionNote(optOut.note),\n lease: optOut.lease,\n }\n\n return legacySendTransactionBridge(\n algod,\n optOut.account,\n optOut,\n params,\n (c) => c.assetOptOut,\n (c) => (params: NewAssetOptOutParams) => c.assetOptOut({ ...params, ensureZeroBalance: optOut.ensureZeroBalance ?? true }),\n )\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptIn()` instead\n *\n * Opt in to a list of assets on the Algorand blockchain.\n *\n * @param optIn - The bulk opt-in request.\n * @param algod - An instance of the Algodv2 class from the `algosdk` library.\n * @returns A record object where the keys are the asset IDs and the values are the corresponding transaction IDs for successful opt-ins.\n * @throws If there is an error during the opt-in process.\n * @example algokit.bulkOptIn({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptIn(optIn: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optIn.account)\n .asset.bulkOptIn(getSenderAddress(optIn.account), optIn.assetIds.map(BigInt), {\n note: encodeTransactionNote(optIn.note),\n maxFee: optIn.maxFee,\n suppressLog: optIn.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n\n/**\n * @deprecated use `algorand.asset.bulkOptOut()` instead\n *\n * Opt out of multiple assets in Algorand blockchain.\n *\n * @param optOut The bulk opt-out request.\n * @param algod - An instance of the Algodv2 client used to interact with the Algorand blockchain.\n * @returns A record object containing asset IDs as keys and their corresponding transaction IDs as values.\n * @throws If there is an error during the opt-out process.\n * @example algokit.bulkOptOut({ account: account, assetIds: [12345, 67890] }, algod)\n */\nexport async function assetBulkOptOut(optOut: AssetBulkOptInOutParams, algod: Algodv2): Promise<Record<number, string>> {\n const result = await AlgorandClient.fromClients({ algod })\n .setSignerFromAccount(optOut.account)\n .asset.bulkOptOut(getSenderAddress(optOut.account), optOut.assetIds.map(BigInt), {\n ensureZeroBalance: optOut.validateBalances ?? true,\n note: encodeTransactionNote(optOut.note),\n maxFee: optOut.maxFee,\n suppressLog: optOut.suppressLog,\n })\n\n const returnResult: Record<number, string> = {}\n for (const r of result) {\n returnResult[Number(r.assetId)] = r.transactionId\n }\n return returnResult\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.js","sources":["../../src/debugging/debugging.ts"],"sourcesContent":["/**\n * @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.\n *\n * This function persists the source maps for the given sources.\n *\n * @returns A promise that resolves when the source maps have been persisted.\n */\nexport async function persistSourceMaps(_params: unknown): Promise<void> {\n throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.')\n}\n"],"names":[],"mappings":";;AAAA;;;;;;AAMG;AACI,eAAe,iBAAiB,CAAC,OAAgB,EAAA;AACtD,IAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC
|
|
1
|
+
{"version":3,"file":"debugging.js","sources":["../../src/debugging/debugging.ts"],"sourcesContent":["/**\n * @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.\n *\n * This function persists the source maps for the given sources.\n *\n * @returns A promise that resolves when the source maps have been persisted.\n */\nexport async function persistSourceMaps(_params: unknown): Promise<void> {\n throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.')\n}\n"],"names":[],"mappings":";;AAAA;;;;;;AAMG;AACI,eAAe,iBAAiB,CAAC,OAAgB,EAAA;AACtD,IAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;AACvG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.mjs","sources":["../../src/debugging/debugging.ts"],"sourcesContent":["/**\n * @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.\n *\n * This function persists the source maps for the given sources.\n *\n * @returns A promise that resolves when the source maps have been persisted.\n */\nexport async function persistSourceMaps(_params: unknown): Promise<void> {\n throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.')\n}\n"],"names":[],"mappings":"AAAA;;;;;;AAMG;AACI,eAAe,iBAAiB,CAAC,OAAgB,EAAA;AACtD,IAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC
|
|
1
|
+
{"version":3,"file":"debugging.mjs","sources":["../../src/debugging/debugging.ts"],"sourcesContent":["/**\n * @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.\n *\n * This function persists the source maps for the given sources.\n *\n * @returns A promise that resolves when the source maps have been persisted.\n */\nexport async function persistSourceMaps(_params: unknown): Promise<void> {\n throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.')\n}\n"],"names":[],"mappings":"AAAA;;;;;;AAMG;AACI,eAAe,iBAAiB,CAAC,OAAgB,EAAA;AACtD,IAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;AACvG;;;;"}
|
package/dispenser-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispenser-client.js","sources":["../src/dispenser-client.ts"],"sourcesContent":["import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'\n\n/**\n * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead\n *\n * Create a new TestNetDispenserApiClient instance.\n * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.\n *\n * @param params An object containing parameters for the TestNetDispenserApiClient class.\n * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.\n * @example\n * const client = algokit.getTestNetDispenserApiClient(\n * {\n * authToken: 'your_auth_token',\n * requestTimeout: 15,\n * }\n * )\n *\n * @returns An instance of the TestNetDispenserApiClient class.\n */\nexport function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {\n return new TestNetDispenserApiClient(params === null ? undefined : params)\n}\n"],"names":["TestNetDispenserApiClient"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAIA,+CAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"dispenser-client.js","sources":["../src/dispenser-client.ts"],"sourcesContent":["import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'\n\n/**\n * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead\n *\n * Create a new TestNetDispenserApiClient instance.\n * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.\n *\n * @param params An object containing parameters for the TestNetDispenserApiClient class.\n * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.\n * @example\n * const client = algokit.getTestNetDispenserApiClient(\n * {\n * authToken: 'your_auth_token',\n * requestTimeout: 15,\n * }\n * )\n *\n * @returns An instance of the TestNetDispenserApiClient class.\n */\nexport function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {\n return new TestNetDispenserApiClient(params === null ? undefined : params)\n}\n"],"names":["TestNetDispenserApiClient"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAIA,+CAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAC5E;;;;"}
|
package/dispenser-client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispenser-client.mjs","sources":["../src/dispenser-client.ts"],"sourcesContent":["import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'\n\n/**\n * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead\n *\n * Create a new TestNetDispenserApiClient instance.\n * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.\n *\n * @param params An object containing parameters for the TestNetDispenserApiClient class.\n * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.\n * @example\n * const client = algokit.getTestNetDispenserApiClient(\n * {\n * authToken: 'your_auth_token',\n * requestTimeout: 15,\n * }\n * )\n *\n * @returns An instance of the TestNetDispenserApiClient class.\n */\nexport function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {\n return new TestNetDispenserApiClient(params === null ? undefined : params)\n}\n"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAI,yBAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"dispenser-client.mjs","sources":["../src/dispenser-client.ts"],"sourcesContent":["import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'\n\n/**\n * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead\n *\n * Create a new TestNetDispenserApiClient instance.\n * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.\n *\n * @param params An object containing parameters for the TestNetDispenserApiClient class.\n * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.\n * @example\n * const client = algokit.getTestNetDispenserApiClient(\n * {\n * authToken: 'your_auth_token',\n * requestTimeout: 15,\n * }\n * )\n *\n * @returns An instance of the TestNetDispenserApiClient class.\n */\nexport function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {\n return new TestNetDispenserApiClient(params === null ? undefined : params)\n}\n"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAI,yBAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAC5E;;;;"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -11,6 +11,7 @@ var amount = require('./amount.js');
|
|
|
11
11
|
var config = require('./config.js');
|
|
12
12
|
var types_algorandClient = require('./types/algorand-client.js');
|
|
13
13
|
var types_debugging = require('./types/debugging.js');
|
|
14
|
+
var types_lifecycleEvents = require('./types/lifecycle-events.js');
|
|
14
15
|
var account = require('./account/account.js');
|
|
15
16
|
var getAccount = require('./account/get-account.js');
|
|
16
17
|
var getAccountConfigFromEnvironment = require('./account/get-account-config-from-environment.js');
|
|
@@ -93,6 +94,10 @@ exports.DEFAULT_MAX_SEARCH_DEPTH = types_debugging.DEFAULT_MAX_SEARCH_DEPTH;
|
|
|
93
94
|
exports.SOURCES_DIR = types_debugging.SOURCES_DIR;
|
|
94
95
|
exports.TEAL_FILE_EXT = types_debugging.TEAL_FILE_EXT;
|
|
95
96
|
exports.TEAL_SOURCEMAP_EXT = types_debugging.TEAL_SOURCEMAP_EXT;
|
|
97
|
+
Object.defineProperty(exports, "EventType", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function () { return types_lifecycleEvents.EventType; }
|
|
100
|
+
});
|
|
96
101
|
exports.getAccountAddressAsString = account.getAccountAddressAsString;
|
|
97
102
|
exports.getAccountAddressAsUint8Array = account.getAccountAddressAsUint8Array;
|
|
98
103
|
exports.getAccountAssetInformation = account.getAccountAssetInformation;
|
|
@@ -123,6 +128,7 @@ exports.capTransactionFee = transaction.capTransactionFee;
|
|
|
123
128
|
exports.controlFees = transaction.controlFees;
|
|
124
129
|
exports.encodeLease = transaction.encodeLease;
|
|
125
130
|
exports.encodeTransactionNote = transaction.encodeTransactionNote;
|
|
131
|
+
exports.getABIReturnValue = transaction.getABIReturnValue;
|
|
126
132
|
exports.getAtomicTransactionComposerTransactions = transaction.getAtomicTransactionComposerTransactions;
|
|
127
133
|
exports.getSenderAddress = transaction.getSenderAddress;
|
|
128
134
|
exports.getSenderTransactionSigner = transaction.getSenderTransactionSigner;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/index.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export { algo, algos, microAlgo, microAlgos, transactionFees } from './amount.mj
|
|
|
11
11
|
export { Config } from './config.mjs';
|
|
12
12
|
export { AlgorandClient } from './types/algorand-client.mjs';
|
|
13
13
|
export { ALGOKIT_DIR, DEFAULT_MAX_SEARCH_DEPTH, SOURCES_DIR, TEAL_FILE_EXT, TEAL_SOURCEMAP_EXT } from './types/debugging.mjs';
|
|
14
|
+
export { EventType } from './types/lifecycle-events.mjs';
|
|
14
15
|
export { getAccountAddressAsString, getAccountAddressAsUint8Array, getAccountAssetInformation, getAccountInformation, mnemonicAccountFromEnvironment, multisigAccount, randomAccount, rekeyedAccount, transactionSignerAccount } from './account/account.mjs';
|
|
15
16
|
export { getAccount } from './account/get-account.mjs';
|
|
16
17
|
export { getAccountConfigFromEnvironment } from './account/get-account-config-from-environment.mjs';
|
|
@@ -24,5 +25,5 @@ export { ensureFunded, rekeyAccount, transferAsset } from './transfer/transfer.m
|
|
|
24
25
|
export { transferAlgos } from './transfer/transfer-algos.mjs';
|
|
25
26
|
export { persistSourceMaps } from './debugging/debugging.mjs';
|
|
26
27
|
export { performAtomicTransactionComposerSimulate } from './transaction/perform-atomic-transaction-composer-simulate.mjs';
|
|
27
|
-
export { MAX_APP_CALL_ACCOUNT_REFERENCES, MAX_APP_CALL_FOREIGN_REFERENCES, MAX_TRANSACTION_GROUP_SIZE, capTransactionFee, controlFees, encodeLease, encodeTransactionNote, getAtomicTransactionComposerTransactions, getSenderAddress, getSenderTransactionSigner, getTransactionParams, getTransactionWithSigner, performAtomicTransactionComposerDryrun, populateAppCallResources, sendAtomicTransactionComposer, sendGroupOfTransactions, sendTransaction, signTransaction, waitForConfirmation } from './transaction/transaction.mjs';
|
|
28
|
+
export { MAX_APP_CALL_ACCOUNT_REFERENCES, MAX_APP_CALL_FOREIGN_REFERENCES, MAX_TRANSACTION_GROUP_SIZE, capTransactionFee, controlFees, encodeLease, encodeTransactionNote, getABIReturnValue, getAtomicTransactionComposerTransactions, getSenderAddress, getSenderTransactionSigner, getTransactionParams, getTransactionWithSigner, performAtomicTransactionComposerDryrun, populateAppCallResources, sendAtomicTransactionComposer, sendGroupOfTransactions, sendTransaction, signTransaction, waitForConfirmation } from './transaction/transaction.mjs';
|
|
28
29
|
//# sourceMappingURL=index.mjs.map
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/indexer-lookup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer-lookup.js","sources":["../src/indexer-lookup.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport type SearchForTransactions from 'algosdk/dist/types/client/v2/indexer/searchForTransactions'\nimport {\n AccountLookupResult,\n ApplicationCreatedLookupResult,\n ApplicationResult,\n AssetBalancesLookupResult,\n LookupAssetHoldingsOptions,\n MiniAssetHolding,\n TransactionLookupResult,\n TransactionSearchResults,\n} from './types/indexer'\nimport Indexer = algosdk.Indexer\n\nconst DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000 //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific\n\n/**\n * Looks up a transaction by ID using Indexer.\n * @param transactionId The ID of the transaction to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupTransactionById(transactionId: string, indexer: Indexer): Promise<TransactionLookupResult> {\n return (await indexer.lookupTransactionByID(transactionId).do()) as TransactionLookupResult\n}\n\n/**\n * Looks up an account by address using Indexer.\n * @param accountAddress The address of the account to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupAccountByAddress(accountAddress: string, indexer: Indexer): Promise<AccountLookupResult> {\n return (await indexer.lookupAccountByID(accountAddress).do()) as AccountLookupResult\n}\n\n/**\n * Looks up applications that were created by the given address; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param address The address of the creator to look up\n * @param getAll Whether or not to include deleted applications\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAccountCreatedApplicationByAddress(\n indexer: Indexer,\n address: string,\n getAll: boolean | undefined = undefined,\n paginationLimit?: number,\n): Promise<ApplicationResult[]> {\n return await executePaginatedRequest(\n (response: ApplicationCreatedLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.applications\n },\n (nextToken) => {\n let s = indexer\n .lookupAccountCreatedApplications(address)\n .includeAll(getAll)\n .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Looks up asset holdings for the given asset; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param assetId The ID of the asset to look up holdings for\n * @param options Optional options to control the lookup\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAssetHoldings(\n indexer: Indexer,\n assetId: number | bigint,\n options?: LookupAssetHoldingsOptions,\n paginationLimit?: number,\n): Promise<MiniAssetHolding[]> {\n return await executePaginatedRequest(\n (response: AssetBalancesLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.balances\n },\n (nextToken) => {\n let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (options?.currencyGreaterThan !== undefined) {\n s = s.currencyGreaterThan(options.currencyGreaterThan)\n }\n if (options?.currencyLessThan !== undefined) {\n s = s.currencyLessThan(options.currencyLessThan)\n }\n if (options?.includeAll !== undefined) {\n s = s.includeAll(options.includeAll)\n }\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Allows transactions to be searched for the given criteria.\n * @param indexer An indexer client\n * @param searchCriteria The criteria to search for\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The search results\n */\nexport async function searchTransactions(\n indexer: Indexer,\n searchCriteria: (s: SearchForTransactions) => SearchForTransactions,\n paginationLimit?: number,\n): Promise<TransactionSearchResults> {\n let currentRound = 0\n const transactions = await executePaginatedRequest(\n (response: TransactionSearchResults | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n if (response['current-round'] > currentRound) {\n currentRound = response['current-round']\n }\n return response.transactions\n },\n (nextToken) => {\n let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n\n return {\n 'current-round': currentRound,\n 'next-token': '',\n transactions: transactions,\n }\n}\n\n// https://developer.algorand.org/docs/get-details/indexer/#paginated-results\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function executePaginatedRequest<TResult, TRequest extends { do: () => Promise<any> }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractItems: (response: any) => TResult[],\n buildRequest: (nextToken?: string) => TRequest,\n): Promise<TResult[]> {\n const results = []\n\n let nextToken: string | undefined = undefined\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const request = buildRequest(nextToken)\n const response = await request.do()\n const items = extractItems(response)\n if (items == null || items.length === 0) {\n break\n }\n results.push(...items)\n nextToken = response['next-token']\n if (!nextToken) {\n break\n }\n }\n\n return results\n}\n"],"names":[],"mappings":";;AAcA,MAAM,6CAA6C,GAAG,IAAI,CAAA;AAE1D;;;;;AAKG;AACI,eAAe,qBAAqB,CAAC,aAAqB,EAAE,OAAgB,EAAA;AACjF,IAAA,QAAQ,MAAM,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"indexer-lookup.js","sources":["../src/indexer-lookup.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport type SearchForTransactions from 'algosdk/dist/types/client/v2/indexer/searchForTransactions'\nimport {\n AccountLookupResult,\n ApplicationCreatedLookupResult,\n ApplicationResult,\n AssetBalancesLookupResult,\n LookupAssetHoldingsOptions,\n MiniAssetHolding,\n TransactionLookupResult,\n TransactionSearchResults,\n} from './types/indexer'\nimport Indexer = algosdk.Indexer\n\nconst DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000 //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific\n\n/**\n * Looks up a transaction by ID using Indexer.\n * @param transactionId The ID of the transaction to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupTransactionById(transactionId: string, indexer: Indexer): Promise<TransactionLookupResult> {\n return (await indexer.lookupTransactionByID(transactionId).do()) as TransactionLookupResult\n}\n\n/**\n * Looks up an account by address using Indexer.\n * @param accountAddress The address of the account to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupAccountByAddress(accountAddress: string, indexer: Indexer): Promise<AccountLookupResult> {\n return (await indexer.lookupAccountByID(accountAddress).do()) as AccountLookupResult\n}\n\n/**\n * Looks up applications that were created by the given address; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param address The address of the creator to look up\n * @param getAll Whether or not to include deleted applications\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAccountCreatedApplicationByAddress(\n indexer: Indexer,\n address: string,\n getAll: boolean | undefined = undefined,\n paginationLimit?: number,\n): Promise<ApplicationResult[]> {\n return await executePaginatedRequest(\n (response: ApplicationCreatedLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.applications\n },\n (nextToken) => {\n let s = indexer\n .lookupAccountCreatedApplications(address)\n .includeAll(getAll)\n .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Looks up asset holdings for the given asset; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param assetId The ID of the asset to look up holdings for\n * @param options Optional options to control the lookup\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAssetHoldings(\n indexer: Indexer,\n assetId: number | bigint,\n options?: LookupAssetHoldingsOptions,\n paginationLimit?: number,\n): Promise<MiniAssetHolding[]> {\n return await executePaginatedRequest(\n (response: AssetBalancesLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.balances\n },\n (nextToken) => {\n let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (options?.currencyGreaterThan !== undefined) {\n s = s.currencyGreaterThan(options.currencyGreaterThan)\n }\n if (options?.currencyLessThan !== undefined) {\n s = s.currencyLessThan(options.currencyLessThan)\n }\n if (options?.includeAll !== undefined) {\n s = s.includeAll(options.includeAll)\n }\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Allows transactions to be searched for the given criteria.\n * @param indexer An indexer client\n * @param searchCriteria The criteria to search for\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The search results\n */\nexport async function searchTransactions(\n indexer: Indexer,\n searchCriteria: (s: SearchForTransactions) => SearchForTransactions,\n paginationLimit?: number,\n): Promise<TransactionSearchResults> {\n let currentRound = 0\n const transactions = await executePaginatedRequest(\n (response: TransactionSearchResults | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n if (response['current-round'] > currentRound) {\n currentRound = response['current-round']\n }\n return response.transactions\n },\n (nextToken) => {\n let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n\n return {\n 'current-round': currentRound,\n 'next-token': '',\n transactions: transactions,\n }\n}\n\n// https://developer.algorand.org/docs/get-details/indexer/#paginated-results\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function executePaginatedRequest<TResult, TRequest extends { do: () => Promise<any> }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractItems: (response: any) => TResult[],\n buildRequest: (nextToken?: string) => TRequest,\n): Promise<TResult[]> {\n const results = []\n\n let nextToken: string | undefined = undefined\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const request = buildRequest(nextToken)\n const response = await request.do()\n const items = extractItems(response)\n if (items == null || items.length === 0) {\n break\n }\n results.push(...items)\n nextToken = response['next-token']\n if (!nextToken) {\n break\n }\n }\n\n return results\n}\n"],"names":[],"mappings":";;AAcA,MAAM,6CAA6C,GAAG,IAAI,CAAA;AAE1D;;;;;AAKG;AACI,eAAe,qBAAqB,CAAC,aAAqB,EAAE,OAAgB,EAAA;AACjF,IAAA,QAAQ,MAAM,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE;AACjE;AAEA;;;;;AAKG;AACI,eAAe,sBAAsB,CAAC,cAAsB,EAAE,OAAgB,EAAA;AACnF,IAAA,QAAQ,MAAM,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE;AAC9D;AAEA;;;;;;;AAOG;AACI,eAAe,wCAAwC,CAC5D,OAAgB,EAChB,OAAe,EACf,MAAA,GAA8B,SAAS,EACvC,eAAwB,EAAA;AAExB,IAAA,OAAO,MAAM,uBAAuB,CAClC,CAAC,QAA8D,KAAI;AACjE,QAAA,IAAI,SAAS,IAAI,QAAQ,EAAE;YACzB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE;;QAEpC,OAAO,QAAQ,CAAC,YAAY;AAC9B,KAAC,EACD,CAAC,SAAS,KAAI;QACZ,IAAI,CAAC,GAAG;aACL,gCAAgC,CAAC,OAAO;aACxC,UAAU,CAAC,MAAM;AACjB,aAAA,KAAK,CAAC,eAAe,IAAI,6CAA6C,CAAC;QAC1E,IAAI,SAAS,EAAE;AACb,YAAA,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;AAE5B,QAAA,OAAO,CAAC;AACV,KAAC,CACF;AACH;AAEA;;;;;;;AAOG;AACI,eAAe,mBAAmB,CACvC,OAAgB,EAChB,OAAwB,EACxB,OAAoC,EACpC,eAAwB,EAAA;AAExB,IAAA,OAAO,MAAM,uBAAuB,CAClC,CAAC,QAAyD,KAAI;AAC5D,QAAA,IAAI,SAAS,IAAI,QAAQ,EAAE;YACzB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE;;QAEpC,OAAO,QAAQ,CAAC,QAAQ;AAC1B,KAAC,EACD,CAAC,SAAS,KAAI;AACZ,QAAA,IAAI,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,6CAA6C,CAAC;AAC5H,QAAA,IAAI,OAAO,EAAE,mBAAmB,KAAK,SAAS,EAAE;YAC9C,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,CAAC;;AAExD,QAAA,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,EAAE;YAC3C,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC;;AAElD,QAAA,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE;YACrC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;;QAEtC,IAAI,SAAS,EAAE;AACb,YAAA,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;AAE5B,QAAA,OAAO,CAAC;AACV,KAAC,CACF;AACH;AAEA;;;;;;AAMG;AACI,eAAe,kBAAkB,CACtC,OAAgB,EAChB,cAAmE,EACnE,eAAwB,EAAA;IAExB,IAAI,YAAY,GAAG,CAAC;IACpB,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAChD,CAAC,QAAwD,KAAI;AAC3D,QAAA,IAAI,SAAS,IAAI,QAAQ,EAAE;YACzB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE;;AAEpC,QAAA,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,YAAY,EAAE;AAC5C,YAAA,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;;QAE1C,OAAO,QAAQ,CAAC,YAAY;AAC9B,KAAC,EACD,CAAC,SAAS,KAAI;AACZ,QAAA,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,6CAA6C,CAAC;QAC/H,IAAI,SAAS,EAAE;AACb,YAAA,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;AAE5B,QAAA,OAAO,CAAC;AACV,KAAC,CACF;IAED,OAAO;AACL,QAAA,eAAe,EAAE,YAAY;AAC7B,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,YAAY,EAAE,YAAY;KAC3B;AACH;AAEA;AACA;AACO,eAAe,uBAAuB;AAC3C;AACA,YAA0C,EAC1C,YAA8C,EAAA;IAE9C,MAAM,OAAO,GAAG,EAAE;IAElB,IAAI,SAAS,GAAuB,SAAS;;IAE7C,OAAO,IAAI,EAAE;AACX,QAAA,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;AACvC,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE;AACnC,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC;QACpC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC;;AAEF,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AACtB,QAAA,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;YACd;;;AAIJ,IAAA,OAAO,OAAO;AAChB;;;;;;;;;"}
|
package/indexer-lookup.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer-lookup.mjs","sources":["../src/indexer-lookup.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport type SearchForTransactions from 'algosdk/dist/types/client/v2/indexer/searchForTransactions'\nimport {\n AccountLookupResult,\n ApplicationCreatedLookupResult,\n ApplicationResult,\n AssetBalancesLookupResult,\n LookupAssetHoldingsOptions,\n MiniAssetHolding,\n TransactionLookupResult,\n TransactionSearchResults,\n} from './types/indexer'\nimport Indexer = algosdk.Indexer\n\nconst DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000 //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific\n\n/**\n * Looks up a transaction by ID using Indexer.\n * @param transactionId The ID of the transaction to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupTransactionById(transactionId: string, indexer: Indexer): Promise<TransactionLookupResult> {\n return (await indexer.lookupTransactionByID(transactionId).do()) as TransactionLookupResult\n}\n\n/**\n * Looks up an account by address using Indexer.\n * @param accountAddress The address of the account to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupAccountByAddress(accountAddress: string, indexer: Indexer): Promise<AccountLookupResult> {\n return (await indexer.lookupAccountByID(accountAddress).do()) as AccountLookupResult\n}\n\n/**\n * Looks up applications that were created by the given address; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param address The address of the creator to look up\n * @param getAll Whether or not to include deleted applications\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAccountCreatedApplicationByAddress(\n indexer: Indexer,\n address: string,\n getAll: boolean | undefined = undefined,\n paginationLimit?: number,\n): Promise<ApplicationResult[]> {\n return await executePaginatedRequest(\n (response: ApplicationCreatedLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.applications\n },\n (nextToken) => {\n let s = indexer\n .lookupAccountCreatedApplications(address)\n .includeAll(getAll)\n .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Looks up asset holdings for the given asset; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param assetId The ID of the asset to look up holdings for\n * @param options Optional options to control the lookup\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAssetHoldings(\n indexer: Indexer,\n assetId: number | bigint,\n options?: LookupAssetHoldingsOptions,\n paginationLimit?: number,\n): Promise<MiniAssetHolding[]> {\n return await executePaginatedRequest(\n (response: AssetBalancesLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.balances\n },\n (nextToken) => {\n let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (options?.currencyGreaterThan !== undefined) {\n s = s.currencyGreaterThan(options.currencyGreaterThan)\n }\n if (options?.currencyLessThan !== undefined) {\n s = s.currencyLessThan(options.currencyLessThan)\n }\n if (options?.includeAll !== undefined) {\n s = s.includeAll(options.includeAll)\n }\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Allows transactions to be searched for the given criteria.\n * @param indexer An indexer client\n * @param searchCriteria The criteria to search for\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The search results\n */\nexport async function searchTransactions(\n indexer: Indexer,\n searchCriteria: (s: SearchForTransactions) => SearchForTransactions,\n paginationLimit?: number,\n): Promise<TransactionSearchResults> {\n let currentRound = 0\n const transactions = await executePaginatedRequest(\n (response: TransactionSearchResults | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n if (response['current-round'] > currentRound) {\n currentRound = response['current-round']\n }\n return response.transactions\n },\n (nextToken) => {\n let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n\n return {\n 'current-round': currentRound,\n 'next-token': '',\n transactions: transactions,\n }\n}\n\n// https://developer.algorand.org/docs/get-details/indexer/#paginated-results\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function executePaginatedRequest<TResult, TRequest extends { do: () => Promise<any> }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractItems: (response: any) => TResult[],\n buildRequest: (nextToken?: string) => TRequest,\n): Promise<TResult[]> {\n const results = []\n\n let nextToken: string | undefined = undefined\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const request = buildRequest(nextToken)\n const response = await request.do()\n const items = extractItems(response)\n if (items == null || items.length === 0) {\n break\n }\n results.push(...items)\n nextToken = response['next-token']\n if (!nextToken) {\n break\n }\n }\n\n return results\n}\n"],"names":[],"mappings":"AAcA,MAAM,6CAA6C,GAAG,IAAI,CAAA;AAE1D;;;;;AAKG;AACI,eAAe,qBAAqB,CAAC,aAAqB,EAAE,OAAgB,EAAA;AACjF,IAAA,QAAQ,MAAM,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"indexer-lookup.mjs","sources":["../src/indexer-lookup.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport type SearchForTransactions from 'algosdk/dist/types/client/v2/indexer/searchForTransactions'\nimport {\n AccountLookupResult,\n ApplicationCreatedLookupResult,\n ApplicationResult,\n AssetBalancesLookupResult,\n LookupAssetHoldingsOptions,\n MiniAssetHolding,\n TransactionLookupResult,\n TransactionSearchResults,\n} from './types/indexer'\nimport Indexer = algosdk.Indexer\n\nconst DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000 //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific\n\n/**\n * Looks up a transaction by ID using Indexer.\n * @param transactionId The ID of the transaction to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupTransactionById(transactionId: string, indexer: Indexer): Promise<TransactionLookupResult> {\n return (await indexer.lookupTransactionByID(transactionId).do()) as TransactionLookupResult\n}\n\n/**\n * Looks up an account by address using Indexer.\n * @param accountAddress The address of the account to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupAccountByAddress(accountAddress: string, indexer: Indexer): Promise<AccountLookupResult> {\n return (await indexer.lookupAccountByID(accountAddress).do()) as AccountLookupResult\n}\n\n/**\n * Looks up applications that were created by the given address; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param address The address of the creator to look up\n * @param getAll Whether or not to include deleted applications\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAccountCreatedApplicationByAddress(\n indexer: Indexer,\n address: string,\n getAll: boolean | undefined = undefined,\n paginationLimit?: number,\n): Promise<ApplicationResult[]> {\n return await executePaginatedRequest(\n (response: ApplicationCreatedLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.applications\n },\n (nextToken) => {\n let s = indexer\n .lookupAccountCreatedApplications(address)\n .includeAll(getAll)\n .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Looks up asset holdings for the given asset; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param assetId The ID of the asset to look up holdings for\n * @param options Optional options to control the lookup\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAssetHoldings(\n indexer: Indexer,\n assetId: number | bigint,\n options?: LookupAssetHoldingsOptions,\n paginationLimit?: number,\n): Promise<MiniAssetHolding[]> {\n return await executePaginatedRequest(\n (response: AssetBalancesLookupResult | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.balances\n },\n (nextToken) => {\n let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (options?.currencyGreaterThan !== undefined) {\n s = s.currencyGreaterThan(options.currencyGreaterThan)\n }\n if (options?.currencyLessThan !== undefined) {\n s = s.currencyLessThan(options.currencyLessThan)\n }\n if (options?.includeAll !== undefined) {\n s = s.includeAll(options.includeAll)\n }\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Allows transactions to be searched for the given criteria.\n * @param indexer An indexer client\n * @param searchCriteria The criteria to search for\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The search results\n */\nexport async function searchTransactions(\n indexer: Indexer,\n searchCriteria: (s: SearchForTransactions) => SearchForTransactions,\n paginationLimit?: number,\n): Promise<TransactionSearchResults> {\n let currentRound = 0\n const transactions = await executePaginatedRequest(\n (response: TransactionSearchResults | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n if (response['current-round'] > currentRound) {\n currentRound = response['current-round']\n }\n return response.transactions\n },\n (nextToken) => {\n let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n\n return {\n 'current-round': currentRound,\n 'next-token': '',\n transactions: transactions,\n }\n}\n\n// https://developer.algorand.org/docs/get-details/indexer/#paginated-results\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function executePaginatedRequest<TResult, TRequest extends { do: () => Promise<any> }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractItems: (response: any) => TResult[],\n buildRequest: (nextToken?: string) => TRequest,\n): Promise<TResult[]> {\n const results = []\n\n let nextToken: string | undefined = undefined\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const request = buildRequest(nextToken)\n const response = await request.do()\n const items = extractItems(response)\n if (items == null || items.length === 0) {\n break\n }\n results.push(...items)\n nextToken = response['next-token']\n if (!nextToken) {\n break\n }\n }\n\n return results\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-kmd-wallet-account.js","sources":["../../src/localnet/get-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.\n *\n * Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).\n *\n * @param walletAccount The details of the wallet, with:\n * * `name`: The name of the wallet to retrieve an account from\n * * `predicate`: An optional filter to use to find the account (otherwise it will return a random account from the wallet)\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n * @example Get default funded account in a LocalNet\n *\n * ```typescript\n * const defaultDispenserAccount = await getKmdWalletAccount(algod,\n * 'unencrypted-default-wallet',\n * a => a.status !== 'Offline' && a.amount > 1_000_000_000\n * )\n * ```\n */\nexport async function getKmdWalletAccount(\n walletAccount: {\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n predicate?: (account: Record<string, any>) => boolean\n },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account | undefined> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getWalletAccount(walletAccount.name, walletAccount.predicate)\n )?.account\n}\n"],"names":["KmdAccountManager","ClientManager"],"mappings":";;;;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,mBAAmB,CACvC,aAIC,EACD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAIA,yCAAiB,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,GACtI,OAAO
|
|
1
|
+
{"version":3,"file":"get-kmd-wallet-account.js","sources":["../../src/localnet/get-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.\n *\n * Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).\n *\n * @param walletAccount The details of the wallet, with:\n * * `name`: The name of the wallet to retrieve an account from\n * * `predicate`: An optional filter to use to find the account (otherwise it will return a random account from the wallet)\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n * @example Get default funded account in a LocalNet\n *\n * ```typescript\n * const defaultDispenserAccount = await getKmdWalletAccount(algod,\n * 'unencrypted-default-wallet',\n * a => a.status !== 'Offline' && a.amount > 1_000_000_000\n * )\n * ```\n */\nexport async function getKmdWalletAccount(\n walletAccount: {\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n predicate?: (account: Record<string, any>) => boolean\n },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account | undefined> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getWalletAccount(walletAccount.name, walletAccount.predicate)\n )?.account\n}\n"],"names":["KmdAccountManager","ClientManager"],"mappings":";;;;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,mBAAmB,CACvC,aAIC,EACD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAIA,yCAAiB,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,GACtI,OAAO;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-kmd-wallet-account.mjs","sources":["../../src/localnet/get-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.\n *\n * Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).\n *\n * @param walletAccount The details of the wallet, with:\n * * `name`: The name of the wallet to retrieve an account from\n * * `predicate`: An optional filter to use to find the account (otherwise it will return a random account from the wallet)\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n * @example Get default funded account in a LocalNet\n *\n * ```typescript\n * const defaultDispenserAccount = await getKmdWalletAccount(algod,\n * 'unencrypted-default-wallet',\n * a => a.status !== 'Offline' && a.amount > 1_000_000_000\n * )\n * ```\n */\nexport async function getKmdWalletAccount(\n walletAccount: {\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n predicate?: (account: Record<string, any>) => boolean\n },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account | undefined> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getWalletAccount(walletAccount.name, walletAccount.predicate)\n )?.account\n}\n"],"names":[],"mappings":";;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,mBAAmB,CACvC,aAIC,EACD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAI,iBAAiB,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,GACtI,OAAO
|
|
1
|
+
{"version":3,"file":"get-kmd-wallet-account.mjs","sources":["../../src/localnet/get-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.\n *\n * Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).\n *\n * @param walletAccount The details of the wallet, with:\n * * `name`: The name of the wallet to retrieve an account from\n * * `predicate`: An optional filter to use to find the account (otherwise it will return a random account from the wallet)\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n * @example Get default funded account in a LocalNet\n *\n * ```typescript\n * const defaultDispenserAccount = await getKmdWalletAccount(algod,\n * 'unencrypted-default-wallet',\n * a => a.status !== 'Offline' && a.amount > 1_000_000_000\n * )\n * ```\n */\nexport async function getKmdWalletAccount(\n walletAccount: {\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n predicate?: (account: Record<string, any>) => boolean\n },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account | undefined> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getWalletAccount(walletAccount.name, walletAccount.predicate)\n )?.account\n}\n"],"names":[],"mappings":";;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,mBAAmB,CACvC,aAIC,EACD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAI,iBAAiB,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,GACtI,OAAO;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-localnet-dispenser-account.js","sources":["../../src/localnet/get-localnet-dispenser-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AccountManager } from '../types/account-manager'\nimport { ClientManager } from '../types/client-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n/**\n * @deprecated Use `algorand.account.kmd.getLocalNetDispenserAccount()` instead.\n *\n * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)\n *\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables\n */\nexport async function getLocalNetDispenserAccount(algod: Algodv2, kmd?: Kmd): Promise<Account> {\n return (await new AccountManager(new ClientManager({ algod, kmd })).kmd.getLocalNetDispenserAccount()).account\n}\n"],"names":["AccountManager","ClientManager"],"mappings":";;;;;AAMA;;;;;;;AAOG;AACI,eAAe,2BAA2B,CAAC,KAAc,EAAE,GAAS,EAAA;IACzE,OAAO,CAAC,MAAM,IAAIA,mCAAc,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,OAAO
|
|
1
|
+
{"version":3,"file":"get-localnet-dispenser-account.js","sources":["../../src/localnet/get-localnet-dispenser-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AccountManager } from '../types/account-manager'\nimport { ClientManager } from '../types/client-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n/**\n * @deprecated Use `algorand.account.kmd.getLocalNetDispenserAccount()` instead.\n *\n * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)\n *\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables\n */\nexport async function getLocalNetDispenserAccount(algod: Algodv2, kmd?: Kmd): Promise<Account> {\n return (await new AccountManager(new ClientManager({ algod, kmd })).kmd.getLocalNetDispenserAccount()).account\n}\n"],"names":["AccountManager","ClientManager"],"mappings":";;;;;AAMA;;;;;;;AAOG;AACI,eAAe,2BAA2B,CAAC,KAAc,EAAE,GAAS,EAAA;IACzE,OAAO,CAAC,MAAM,IAAIA,mCAAc,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,OAAO;AAChH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-localnet-dispenser-account.mjs","sources":["../../src/localnet/get-localnet-dispenser-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AccountManager } from '../types/account-manager'\nimport { ClientManager } from '../types/client-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n/**\n * @deprecated Use `algorand.account.kmd.getLocalNetDispenserAccount()` instead.\n *\n * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)\n *\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables\n */\nexport async function getLocalNetDispenserAccount(algod: Algodv2, kmd?: Kmd): Promise<Account> {\n return (await new AccountManager(new ClientManager({ algod, kmd })).kmd.getLocalNetDispenserAccount()).account\n}\n"],"names":[],"mappings":";;;AAMA;;;;;;;AAOG;AACI,eAAe,2BAA2B,CAAC,KAAc,EAAE,GAAS,EAAA;IACzE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,OAAO
|
|
1
|
+
{"version":3,"file":"get-localnet-dispenser-account.mjs","sources":["../../src/localnet/get-localnet-dispenser-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AccountManager } from '../types/account-manager'\nimport { ClientManager } from '../types/client-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n/**\n * @deprecated Use `algorand.account.kmd.getLocalNetDispenserAccount()` instead.\n *\n * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)\n *\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables\n */\nexport async function getLocalNetDispenserAccount(algod: Algodv2, kmd?: Kmd): Promise<Account> {\n return (await new AccountManager(new ClientManager({ algod, kmd })).kmd.getLocalNetDispenserAccount()).account\n}\n"],"names":[],"mappings":";;;AAMA;;;;;;;AAOG;AACI,eAAe,2BAA2B,CAAC,KAAc,EAAE,GAAS,EAAA;IACzE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,OAAO;AAChH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-or-create-kmd-wallet-account.js","sources":["../../src/localnet/get-or-create-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgoAmount } from '../types/amount'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getOrCreateWalletAccount(name, fundWith)` or `new KMDAccountManager(clientManager).getOrCreateWalletAccount(name, fundWith)` instead.\n *\n * Gets an account with private key loaded from a KMD wallet of the given name, or alternatively creates one with funds in it via a KMD wallet of the given name.\n *\n * This is useful to get idempotent accounts from LocalNet without having to specify the private key (which will change when resetting the LocalNet).\n *\n * This significantly speeds up local dev time and improves experience since you can write code that *just works* first go without manual config in a fresh LocalNet.\n *\n * If this is used via `mnemonicAccountFromEnvironment`, then you can even use the same code that runs on production without changes for local development!\n *\n * @param walletAccount The wallet details with:\n * * `name`: The name of the wallet to retrieve / create\n * * `fundWith`: The number of Algo to fund the account with when it gets created, if not specified then 1000 ALGO will be funded from the dispenser account\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n *\n * @returns An Algorand account with private key loaded - either one that already existed in the given KMD wallet, or a new one that is funded for you\n */\nexport async function getOrCreateKmdWalletAccount(\n walletAccount: { name: string; fundWith?: AlgoAmount },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getOrCreateWalletAccount(\n walletAccount.name,\n walletAccount.fundWith,\n )\n ).account\n}\n"],"names":["KmdAccountManager","ClientManager"],"mappings":";;;;;AAQA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,2BAA2B,CAC/C,aAAsD,EACtD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAIA,yCAAiB,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAChG,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,QAAQ,CACvB,EACD,OAAO
|
|
1
|
+
{"version":3,"file":"get-or-create-kmd-wallet-account.js","sources":["../../src/localnet/get-or-create-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgoAmount } from '../types/amount'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getOrCreateWalletAccount(name, fundWith)` or `new KMDAccountManager(clientManager).getOrCreateWalletAccount(name, fundWith)` instead.\n *\n * Gets an account with private key loaded from a KMD wallet of the given name, or alternatively creates one with funds in it via a KMD wallet of the given name.\n *\n * This is useful to get idempotent accounts from LocalNet without having to specify the private key (which will change when resetting the LocalNet).\n *\n * This significantly speeds up local dev time and improves experience since you can write code that *just works* first go without manual config in a fresh LocalNet.\n *\n * If this is used via `mnemonicAccountFromEnvironment`, then you can even use the same code that runs on production without changes for local development!\n *\n * @param walletAccount The wallet details with:\n * * `name`: The name of the wallet to retrieve / create\n * * `fundWith`: The number of Algo to fund the account with when it gets created, if not specified then 1000 ALGO will be funded from the dispenser account\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n *\n * @returns An Algorand account with private key loaded - either one that already existed in the given KMD wallet, or a new one that is funded for you\n */\nexport async function getOrCreateKmdWalletAccount(\n walletAccount: { name: string; fundWith?: AlgoAmount },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getOrCreateWalletAccount(\n walletAccount.name,\n walletAccount.fundWith,\n )\n ).account\n}\n"],"names":["KmdAccountManager","ClientManager"],"mappings":";;;;;AAQA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,2BAA2B,CAC/C,aAAsD,EACtD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAIA,yCAAiB,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAChG,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,QAAQ,CACvB,EACD,OAAO;AACX;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-or-create-kmd-wallet-account.mjs","sources":["../../src/localnet/get-or-create-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgoAmount } from '../types/amount'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getOrCreateWalletAccount(name, fundWith)` or `new KMDAccountManager(clientManager).getOrCreateWalletAccount(name, fundWith)` instead.\n *\n * Gets an account with private key loaded from a KMD wallet of the given name, or alternatively creates one with funds in it via a KMD wallet of the given name.\n *\n * This is useful to get idempotent accounts from LocalNet without having to specify the private key (which will change when resetting the LocalNet).\n *\n * This significantly speeds up local dev time and improves experience since you can write code that *just works* first go without manual config in a fresh LocalNet.\n *\n * If this is used via `mnemonicAccountFromEnvironment`, then you can even use the same code that runs on production without changes for local development!\n *\n * @param walletAccount The wallet details with:\n * * `name`: The name of the wallet to retrieve / create\n * * `fundWith`: The number of Algo to fund the account with when it gets created, if not specified then 1000 ALGO will be funded from the dispenser account\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n *\n * @returns An Algorand account with private key loaded - either one that already existed in the given KMD wallet, or a new one that is funded for you\n */\nexport async function getOrCreateKmdWalletAccount(\n walletAccount: { name: string; fundWith?: AlgoAmount },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getOrCreateWalletAccount(\n walletAccount.name,\n walletAccount.fundWith,\n )\n ).account\n}\n"],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,2BAA2B,CAC/C,aAAsD,EACtD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAI,iBAAiB,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAChG,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,QAAQ,CACvB,EACD,OAAO
|
|
1
|
+
{"version":3,"file":"get-or-create-kmd-wallet-account.mjs","sources":["../../src/localnet/get-or-create-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgoAmount } from '../types/amount'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getOrCreateWalletAccount(name, fundWith)` or `new KMDAccountManager(clientManager).getOrCreateWalletAccount(name, fundWith)` instead.\n *\n * Gets an account with private key loaded from a KMD wallet of the given name, or alternatively creates one with funds in it via a KMD wallet of the given name.\n *\n * This is useful to get idempotent accounts from LocalNet without having to specify the private key (which will change when resetting the LocalNet).\n *\n * This significantly speeds up local dev time and improves experience since you can write code that *just works* first go without manual config in a fresh LocalNet.\n *\n * If this is used via `mnemonicAccountFromEnvironment`, then you can even use the same code that runs on production without changes for local development!\n *\n * @param walletAccount The wallet details with:\n * * `name`: The name of the wallet to retrieve / create\n * * `fundWith`: The number of Algo to fund the account with when it gets created, if not specified then 1000 ALGO will be funded from the dispenser account\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n *\n * @returns An Algorand account with private key loaded - either one that already existed in the given KMD wallet, or a new one that is funded for you\n */\nexport async function getOrCreateKmdWalletAccount(\n walletAccount: { name: string; fundWith?: AlgoAmount },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getOrCreateWalletAccount(\n walletAccount.name,\n walletAccount.fundWith,\n )\n ).account\n}\n"],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,2BAA2B,CAC/C,aAAsD,EACtD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAI,iBAAiB,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAChG,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,QAAQ,CACvB,EACD,OAAO;AACX;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-localnet.js","sources":["../../src/localnet/is-localnet.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport Algodv2 = algosdk.Algodv2\n\n/** @deprecated Use `await algorand.client.isLocalNet()` or `await new ClientManager({ algod }).isLocalNet()` instead.\n *\n * Returns true if the algod client is pointing to a LocalNet Algorand network\n */\nexport async function isLocalNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isLocalNet()\n}\n"],"names":["ClientManager"],"mappings":";;;;AAIA;;;AAGG;AACI,eAAe,UAAU,CAAC,KAAc,EAAA;IAC7C,OAAO,MAAM,IAAIA,iCAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE
|
|
1
|
+
{"version":3,"file":"is-localnet.js","sources":["../../src/localnet/is-localnet.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport Algodv2 = algosdk.Algodv2\n\n/** @deprecated Use `await algorand.client.isLocalNet()` or `await new ClientManager({ algod }).isLocalNet()` instead.\n *\n * Returns true if the algod client is pointing to a LocalNet Algorand network\n */\nexport async function isLocalNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isLocalNet()\n}\n"],"names":["ClientManager"],"mappings":";;;;AAIA;;;AAGG;AACI,eAAe,UAAU,CAAC,KAAc,EAAA;IAC7C,OAAO,MAAM,IAAIA,iCAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE;AACxD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-localnet.mjs","sources":["../../src/localnet/is-localnet.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport Algodv2 = algosdk.Algodv2\n\n/** @deprecated Use `await algorand.client.isLocalNet()` or `await new ClientManager({ algod }).isLocalNet()` instead.\n *\n * Returns true if the algod client is pointing to a LocalNet Algorand network\n */\nexport async function isLocalNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isLocalNet()\n}\n"],"names":[],"mappings":";;AAIA;;;AAGG;AACI,eAAe,UAAU,CAAC,KAAc,EAAA;IAC7C,OAAO,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE
|
|
1
|
+
{"version":3,"file":"is-localnet.mjs","sources":["../../src/localnet/is-localnet.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport Algodv2 = algosdk.Algodv2\n\n/** @deprecated Use `await algorand.client.isLocalNet()` or `await new ClientManager({ algod }).isLocalNet()` instead.\n *\n * Returns true if the algod client is pointing to a LocalNet Algorand network\n */\nexport async function isLocalNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isLocalNet()\n}\n"],"names":[],"mappings":";;AAIA;;;AAGG;AACI,eAAe,UAAU,CAAC,KAAc,EAAA;IAC7C,OAAO,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE;AACxD;;;;"}
|
package/network-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-client.js","sources":["../src/network-client.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from './types/client-manager'\nimport { AlgoClientConfig, AlgoConfig } from './types/network-client'\nimport Algodv2 = algosdk.Algodv2\nimport Indexer = algosdk.Indexer\nimport Kmd = algosdk.Kmd\nimport IntDecoding = algosdk.IntDecoding\n\n/**\n * @deprecated Use `ClientManager.getConfigFromEnvironmentOrLocalNet()` instead.\n *\n * Retrieve configurations from environment variables when defined or get defaults (expects to be called from a Node.js environment not algod-side)\n */\nexport function getConfigFromEnvOrDefaults(): AlgoConfig {\n return ClientManager.getConfigFromEnvironmentOrLocalNet()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodConfigFromEnvironment()` instead.\n *\n * Retrieve the algod configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getAlgodConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getAlgodConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerConfigFromEnvironment()` instead.\n *\n * Retrieve the indexer configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getIndexerConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getIndexerConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgoNodeConfig(network, config)` instead.\n *\n * Returns the Algorand configuration to point to the AlgoNode service\n *\n * @param network Which network to connect to - TestNet or MainNet\n * @param config Which algod config to return - Algod or Indexer\n */\nexport function getAlgoNodeConfig(network: 'testnet' | 'mainnet', config: 'algod' | 'indexer'): AlgoClientConfig {\n return ClientManager.getAlgoNodeConfig(network, config)\n}\n\n/**\n * @deprecated Use `ClientManager.getDefaultLocalNetConfig(configOrPort)` instead.\n *\n * Returns the Algorand configuration to point to the default LocalNet\n *\n * @param configOrPort Which algod config to return - algod, kmd, or indexer OR a port number\n */\nexport function getDefaultLocalNetConfig(configOrPort: 'algod' | 'indexer' | 'kmd' | number): AlgoClientConfig {\n return ClientManager.getDefaultLocalNetConfig(configOrPort)\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodClient(config)` or `ClientManager.getAlgodClientFromEnvironment()` instead.\n *\n * Returns an algod SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.ALGOD_PORT and process.env.ALGOD_TOKEN\n * // Automatically detects if you are using PureStake to switch in the right header name for ALGOD_TOKEN\n * const algod = getAlgoClient()\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('testnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('mainnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const algod = getAlgoClient({server: 'http://localhost', port: '4001', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await algod.healthCheck().do()\n * ```\n */\nexport function getAlgoClient(config?: AlgoClientConfig): Algodv2 {\n return config ? ClientManager.getAlgodClient(config) : ClientManager.getAlgodClientFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerClient(config, overrideIntDecoding)` or `ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)` instead.\n *\n * Returns an indexer SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @param overrideIntDecoding Override the default int decoding for responses, uses MIXED by default to avoid lost precision for big integers\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.INDEXER_SERVER, process.env.INDEXER_PORT and process.env.INDEXER_TOKEN\n * const indexer = getAlgoIndexerClient()\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('testnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('mainnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const indexer = getAlgoIndexerClient({server: 'http://localhost', port: '8980', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Override int decoding for responses\n * ```typescript\n * const indexer = getAlgoIndexerClient(config, IntDecoding.BIGINT)\n * ```\n */\nexport function getAlgoIndexerClient(config?: AlgoClientConfig, overrideIntDecoding?: IntDecoding): Indexer {\n return config\n ? ClientManager.getIndexerClient(config, overrideIntDecoding)\n : ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)\n}\n\n/**\n * @deprecated Use `ClientManager.getKmdClient(config)` or `ClientManager.getKmdClientFromEnvironment()` instead.\n *\n * Returns a KMD SDK client that automatically retries transient failures on idempotent calls.\n *\n * KMD client allows you to export private keys, which is useful to get the default account in a LocalNet network.\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.KMD_PORT (or if not specified: port 4002) and process.env.ALGOD_TOKEN\n * const kmd = getAlgoKmdClient()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const kmd = getAlgoKmdClient({server: 'http://localhost', port: '4002', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * ```\n */\nexport function getAlgoKmdClient(config?: AlgoClientConfig): Kmd {\n return config ? ClientManager.getKmdClient(config) : ClientManager.getKmdClientFromEnvironment()\n}\n\n/** @deprecated Use `await algorand.client.isTestNet()` or `await new ClientManager({ algod }).isTestNet()` instead. */\nexport async function isTestNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isTestNet()\n}\n\n/** @deprecated Use `await algorand.client.isMainNet()` or `await new ClientManager({ algod }).isMainNet()` instead. */\nexport async function isMainNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isMainNet()\n}\n"],"names":["ClientManager"],"mappings":";;;;AAQA;;;;AAIG;SACa,0BAA0B,GAAA;AACxC,IAAA,OAAOA,iCAAa,CAAC,kCAAkC,EAAE
|
|
1
|
+
{"version":3,"file":"network-client.js","sources":["../src/network-client.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from './types/client-manager'\nimport { AlgoClientConfig, AlgoConfig } from './types/network-client'\nimport Algodv2 = algosdk.Algodv2\nimport Indexer = algosdk.Indexer\nimport Kmd = algosdk.Kmd\nimport IntDecoding = algosdk.IntDecoding\n\n/**\n * @deprecated Use `ClientManager.getConfigFromEnvironmentOrLocalNet()` instead.\n *\n * Retrieve configurations from environment variables when defined or get defaults (expects to be called from a Node.js environment not algod-side)\n */\nexport function getConfigFromEnvOrDefaults(): AlgoConfig {\n return ClientManager.getConfigFromEnvironmentOrLocalNet()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodConfigFromEnvironment()` instead.\n *\n * Retrieve the algod configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getAlgodConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getAlgodConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerConfigFromEnvironment()` instead.\n *\n * Retrieve the indexer configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getIndexerConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getIndexerConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgoNodeConfig(network, config)` instead.\n *\n * Returns the Algorand configuration to point to the AlgoNode service\n *\n * @param network Which network to connect to - TestNet or MainNet\n * @param config Which algod config to return - Algod or Indexer\n */\nexport function getAlgoNodeConfig(network: 'testnet' | 'mainnet', config: 'algod' | 'indexer'): AlgoClientConfig {\n return ClientManager.getAlgoNodeConfig(network, config)\n}\n\n/**\n * @deprecated Use `ClientManager.getDefaultLocalNetConfig(configOrPort)` instead.\n *\n * Returns the Algorand configuration to point to the default LocalNet\n *\n * @param configOrPort Which algod config to return - algod, kmd, or indexer OR a port number\n */\nexport function getDefaultLocalNetConfig(configOrPort: 'algod' | 'indexer' | 'kmd' | number): AlgoClientConfig {\n return ClientManager.getDefaultLocalNetConfig(configOrPort)\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodClient(config)` or `ClientManager.getAlgodClientFromEnvironment()` instead.\n *\n * Returns an algod SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.ALGOD_PORT and process.env.ALGOD_TOKEN\n * // Automatically detects if you are using PureStake to switch in the right header name for ALGOD_TOKEN\n * const algod = getAlgoClient()\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('testnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('mainnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const algod = getAlgoClient({server: 'http://localhost', port: '4001', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await algod.healthCheck().do()\n * ```\n */\nexport function getAlgoClient(config?: AlgoClientConfig): Algodv2 {\n return config ? ClientManager.getAlgodClient(config) : ClientManager.getAlgodClientFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerClient(config, overrideIntDecoding)` or `ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)` instead.\n *\n * Returns an indexer SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @param overrideIntDecoding Override the default int decoding for responses, uses MIXED by default to avoid lost precision for big integers\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.INDEXER_SERVER, process.env.INDEXER_PORT and process.env.INDEXER_TOKEN\n * const indexer = getAlgoIndexerClient()\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('testnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('mainnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const indexer = getAlgoIndexerClient({server: 'http://localhost', port: '8980', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Override int decoding for responses\n * ```typescript\n * const indexer = getAlgoIndexerClient(config, IntDecoding.BIGINT)\n * ```\n */\nexport function getAlgoIndexerClient(config?: AlgoClientConfig, overrideIntDecoding?: IntDecoding): Indexer {\n return config\n ? ClientManager.getIndexerClient(config, overrideIntDecoding)\n : ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)\n}\n\n/**\n * @deprecated Use `ClientManager.getKmdClient(config)` or `ClientManager.getKmdClientFromEnvironment()` instead.\n *\n * Returns a KMD SDK client that automatically retries transient failures on idempotent calls.\n *\n * KMD client allows you to export private keys, which is useful to get the default account in a LocalNet network.\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.KMD_PORT (or if not specified: port 4002) and process.env.ALGOD_TOKEN\n * const kmd = getAlgoKmdClient()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const kmd = getAlgoKmdClient({server: 'http://localhost', port: '4002', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * ```\n */\nexport function getAlgoKmdClient(config?: AlgoClientConfig): Kmd {\n return config ? ClientManager.getKmdClient(config) : ClientManager.getKmdClientFromEnvironment()\n}\n\n/** @deprecated Use `await algorand.client.isTestNet()` or `await new ClientManager({ algod }).isTestNet()` instead. */\nexport async function isTestNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isTestNet()\n}\n\n/** @deprecated Use `await algorand.client.isMainNet()` or `await new ClientManager({ algod }).isMainNet()` instead. */\nexport async function isMainNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isMainNet()\n}\n"],"names":["ClientManager"],"mappings":";;;;AAQA;;;;AAIG;SACa,0BAA0B,GAAA;AACxC,IAAA,OAAOA,iCAAa,CAAC,kCAAkC,EAAE;AAC3D;AAEA;;;;AAIG;SACa,6BAA6B,GAAA;AAC3C,IAAA,OAAOA,iCAAa,CAAC,6BAA6B,EAAE;AACtD;AAEA;;;;AAIG;SACa,+BAA+B,GAAA;AAC7C,IAAA,OAAOA,iCAAa,CAAC,+BAA+B,EAAE;AACxD;AAEA;;;;;;;AAOG;AACa,SAAA,iBAAiB,CAAC,OAA8B,EAAE,MAA2B,EAAA;IAC3F,OAAOA,iCAAa,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC;AACzD;AAEA;;;;;;AAMG;AACG,SAAU,wBAAwB,CAAC,YAAkD,EAAA;AACzF,IAAA,OAAOA,iCAAa,CAAC,wBAAwB,CAAC,YAAY,CAAC;AAC7D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACG,SAAU,aAAa,CAAC,MAAyB,EAAA;AACrD,IAAA,OAAO,MAAM,GAAGA,iCAAa,CAAC,cAAc,CAAC,MAAM,CAAC,GAAGA,iCAAa,CAAC,6BAA6B,EAAE;AACtG;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACa,SAAA,oBAAoB,CAAC,MAAyB,EAAE,mBAAiC,EAAA;AAC/F,IAAA,OAAO;UACHA,iCAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB;AAC5D,UAAEA,iCAAa,CAAC,+BAA+B,CAAC,mBAAmB,CAAC;AACxE;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,gBAAgB,CAAC,MAAyB,EAAA;AACxD,IAAA,OAAO,MAAM,GAAGA,iCAAa,CAAC,YAAY,CAAC,MAAM,CAAC,GAAGA,iCAAa,CAAC,2BAA2B,EAAE;AAClG;AAEA;AACO,eAAe,SAAS,CAAC,KAAc,EAAA;IAC5C,OAAO,MAAM,IAAIA,iCAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE;AACvD;AAEA;AACO,eAAe,SAAS,CAAC,KAAc,EAAA;IAC5C,OAAO,MAAM,IAAIA,iCAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE;AACvD;;;;;;;;;;;;;"}
|
package/network-client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-client.mjs","sources":["../src/network-client.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from './types/client-manager'\nimport { AlgoClientConfig, AlgoConfig } from './types/network-client'\nimport Algodv2 = algosdk.Algodv2\nimport Indexer = algosdk.Indexer\nimport Kmd = algosdk.Kmd\nimport IntDecoding = algosdk.IntDecoding\n\n/**\n * @deprecated Use `ClientManager.getConfigFromEnvironmentOrLocalNet()` instead.\n *\n * Retrieve configurations from environment variables when defined or get defaults (expects to be called from a Node.js environment not algod-side)\n */\nexport function getConfigFromEnvOrDefaults(): AlgoConfig {\n return ClientManager.getConfigFromEnvironmentOrLocalNet()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodConfigFromEnvironment()` instead.\n *\n * Retrieve the algod configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getAlgodConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getAlgodConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerConfigFromEnvironment()` instead.\n *\n * Retrieve the indexer configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getIndexerConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getIndexerConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgoNodeConfig(network, config)` instead.\n *\n * Returns the Algorand configuration to point to the AlgoNode service\n *\n * @param network Which network to connect to - TestNet or MainNet\n * @param config Which algod config to return - Algod or Indexer\n */\nexport function getAlgoNodeConfig(network: 'testnet' | 'mainnet', config: 'algod' | 'indexer'): AlgoClientConfig {\n return ClientManager.getAlgoNodeConfig(network, config)\n}\n\n/**\n * @deprecated Use `ClientManager.getDefaultLocalNetConfig(configOrPort)` instead.\n *\n * Returns the Algorand configuration to point to the default LocalNet\n *\n * @param configOrPort Which algod config to return - algod, kmd, or indexer OR a port number\n */\nexport function getDefaultLocalNetConfig(configOrPort: 'algod' | 'indexer' | 'kmd' | number): AlgoClientConfig {\n return ClientManager.getDefaultLocalNetConfig(configOrPort)\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodClient(config)` or `ClientManager.getAlgodClientFromEnvironment()` instead.\n *\n * Returns an algod SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.ALGOD_PORT and process.env.ALGOD_TOKEN\n * // Automatically detects if you are using PureStake to switch in the right header name for ALGOD_TOKEN\n * const algod = getAlgoClient()\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('testnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('mainnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const algod = getAlgoClient({server: 'http://localhost', port: '4001', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await algod.healthCheck().do()\n * ```\n */\nexport function getAlgoClient(config?: AlgoClientConfig): Algodv2 {\n return config ? ClientManager.getAlgodClient(config) : ClientManager.getAlgodClientFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerClient(config, overrideIntDecoding)` or `ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)` instead.\n *\n * Returns an indexer SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @param overrideIntDecoding Override the default int decoding for responses, uses MIXED by default to avoid lost precision for big integers\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.INDEXER_SERVER, process.env.INDEXER_PORT and process.env.INDEXER_TOKEN\n * const indexer = getAlgoIndexerClient()\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('testnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('mainnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const indexer = getAlgoIndexerClient({server: 'http://localhost', port: '8980', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Override int decoding for responses\n * ```typescript\n * const indexer = getAlgoIndexerClient(config, IntDecoding.BIGINT)\n * ```\n */\nexport function getAlgoIndexerClient(config?: AlgoClientConfig, overrideIntDecoding?: IntDecoding): Indexer {\n return config\n ? ClientManager.getIndexerClient(config, overrideIntDecoding)\n : ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)\n}\n\n/**\n * @deprecated Use `ClientManager.getKmdClient(config)` or `ClientManager.getKmdClientFromEnvironment()` instead.\n *\n * Returns a KMD SDK client that automatically retries transient failures on idempotent calls.\n *\n * KMD client allows you to export private keys, which is useful to get the default account in a LocalNet network.\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.KMD_PORT (or if not specified: port 4002) and process.env.ALGOD_TOKEN\n * const kmd = getAlgoKmdClient()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const kmd = getAlgoKmdClient({server: 'http://localhost', port: '4002', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * ```\n */\nexport function getAlgoKmdClient(config?: AlgoClientConfig): Kmd {\n return config ? ClientManager.getKmdClient(config) : ClientManager.getKmdClientFromEnvironment()\n}\n\n/** @deprecated Use `await algorand.client.isTestNet()` or `await new ClientManager({ algod }).isTestNet()` instead. */\nexport async function isTestNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isTestNet()\n}\n\n/** @deprecated Use `await algorand.client.isMainNet()` or `await new ClientManager({ algod }).isMainNet()` instead. */\nexport async function isMainNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isMainNet()\n}\n"],"names":[],"mappings":";;AAQA;;;;AAIG;SACa,0BAA0B,GAAA;AACxC,IAAA,OAAO,aAAa,CAAC,kCAAkC,EAAE
|
|
1
|
+
{"version":3,"file":"network-client.mjs","sources":["../src/network-client.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from './types/client-manager'\nimport { AlgoClientConfig, AlgoConfig } from './types/network-client'\nimport Algodv2 = algosdk.Algodv2\nimport Indexer = algosdk.Indexer\nimport Kmd = algosdk.Kmd\nimport IntDecoding = algosdk.IntDecoding\n\n/**\n * @deprecated Use `ClientManager.getConfigFromEnvironmentOrLocalNet()` instead.\n *\n * Retrieve configurations from environment variables when defined or get defaults (expects to be called from a Node.js environment not algod-side)\n */\nexport function getConfigFromEnvOrDefaults(): AlgoConfig {\n return ClientManager.getConfigFromEnvironmentOrLocalNet()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodConfigFromEnvironment()` instead.\n *\n * Retrieve the algod configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getAlgodConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getAlgodConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerConfigFromEnvironment()` instead.\n *\n * Retrieve the indexer configuration from environment variables (expects to be called from a Node.js environment not algod-side)\n */\nexport function getIndexerConfigFromEnvironment(): AlgoClientConfig {\n return ClientManager.getIndexerConfigFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgoNodeConfig(network, config)` instead.\n *\n * Returns the Algorand configuration to point to the AlgoNode service\n *\n * @param network Which network to connect to - TestNet or MainNet\n * @param config Which algod config to return - Algod or Indexer\n */\nexport function getAlgoNodeConfig(network: 'testnet' | 'mainnet', config: 'algod' | 'indexer'): AlgoClientConfig {\n return ClientManager.getAlgoNodeConfig(network, config)\n}\n\n/**\n * @deprecated Use `ClientManager.getDefaultLocalNetConfig(configOrPort)` instead.\n *\n * Returns the Algorand configuration to point to the default LocalNet\n *\n * @param configOrPort Which algod config to return - algod, kmd, or indexer OR a port number\n */\nexport function getDefaultLocalNetConfig(configOrPort: 'algod' | 'indexer' | 'kmd' | number): AlgoClientConfig {\n return ClientManager.getDefaultLocalNetConfig(configOrPort)\n}\n\n/**\n * @deprecated Use `ClientManager.getAlgodClient(config)` or `ClientManager.getAlgodClientFromEnvironment()` instead.\n *\n * Returns an algod SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.ALGOD_PORT and process.env.ALGOD_TOKEN\n * // Automatically detects if you are using PureStake to switch in the right header name for ALGOD_TOKEN\n * const algod = getAlgoClient()\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('testnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const algod = getAlgoClient(getAlgoNodeConfig('mainnet', 'algod'))\n * await algod.healthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const algod = getAlgoClient({server: 'http://localhost', port: '4001', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await algod.healthCheck().do()\n * ```\n */\nexport function getAlgoClient(config?: AlgoClientConfig): Algodv2 {\n return config ? ClientManager.getAlgodClient(config) : ClientManager.getAlgodClientFromEnvironment()\n}\n\n/**\n * @deprecated Use `ClientManager.getIndexerClient(config, overrideIntDecoding)` or `ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)` instead.\n *\n * Returns an indexer SDK client that automatically retries transient failures on idempotent calls\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @param overrideIntDecoding Override the default int decoding for responses, uses MIXED by default to avoid lost precision for big integers\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.INDEXER_SERVER, process.env.INDEXER_PORT and process.env.INDEXER_TOKEN\n * const indexer = getAlgoIndexerClient()\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (testnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('testnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example AlgoNode (mainnet)\n * ```typescript\n * const indexer = getAlgoIndexerClient(getAlgoNodeConfig('mainnet', 'indexer'))\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const indexer = getAlgoIndexerClient({server: 'http://localhost', port: '8980', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * await indexer.makeHealthCheck().do()\n * ```\n * @example Override int decoding for responses\n * ```typescript\n * const indexer = getAlgoIndexerClient(config, IntDecoding.BIGINT)\n * ```\n */\nexport function getAlgoIndexerClient(config?: AlgoClientConfig, overrideIntDecoding?: IntDecoding): Indexer {\n return config\n ? ClientManager.getIndexerClient(config, overrideIntDecoding)\n : ClientManager.getIndexerClientFromEnvironment(overrideIntDecoding)\n}\n\n/**\n * @deprecated Use `ClientManager.getKmdClient(config)` or `ClientManager.getKmdClientFromEnvironment()` instead.\n *\n * Returns a KMD SDK client that automatically retries transient failures on idempotent calls.\n *\n * KMD client allows you to export private keys, which is useful to get the default account in a LocalNet network.\n *\n * @param config The config if you want to override the default (getting config from process.env)\n * @example Default (load from environment variables)\n *\n * ```typescript\n * // Uses process.env.ALGOD_SERVER, process.env.KMD_PORT (or if not specified: port 4002) and process.env.ALGOD_TOKEN\n * const kmd = getAlgoKmdClient()\n * ```\n * @example Custom (e.g. default LocalNet, although we recommend loading this into a .env and using the Default option instead)\n * ```typescript\n * const kmd = getAlgoKmdClient({server: 'http://localhost', port: '4002', token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'})\n * ```\n */\nexport function getAlgoKmdClient(config?: AlgoClientConfig): Kmd {\n return config ? ClientManager.getKmdClient(config) : ClientManager.getKmdClientFromEnvironment()\n}\n\n/** @deprecated Use `await algorand.client.isTestNet()` or `await new ClientManager({ algod }).isTestNet()` instead. */\nexport async function isTestNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isTestNet()\n}\n\n/** @deprecated Use `await algorand.client.isMainNet()` or `await new ClientManager({ algod }).isMainNet()` instead. */\nexport async function isMainNet(algod: Algodv2): Promise<boolean> {\n return await new ClientManager({ algod }).isMainNet()\n}\n"],"names":[],"mappings":";;AAQA;;;;AAIG;SACa,0BAA0B,GAAA;AACxC,IAAA,OAAO,aAAa,CAAC,kCAAkC,EAAE;AAC3D;AAEA;;;;AAIG;SACa,6BAA6B,GAAA;AAC3C,IAAA,OAAO,aAAa,CAAC,6BAA6B,EAAE;AACtD;AAEA;;;;AAIG;SACa,+BAA+B,GAAA;AAC7C,IAAA,OAAO,aAAa,CAAC,+BAA+B,EAAE;AACxD;AAEA;;;;;;;AAOG;AACa,SAAA,iBAAiB,CAAC,OAA8B,EAAE,MAA2B,EAAA;IAC3F,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC;AACzD;AAEA;;;;;;AAMG;AACG,SAAU,wBAAwB,CAAC,YAAkD,EAAA;AACzF,IAAA,OAAO,aAAa,CAAC,wBAAwB,CAAC,YAAY,CAAC;AAC7D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACG,SAAU,aAAa,CAAC,MAAyB,EAAA;AACrD,IAAA,OAAO,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,6BAA6B,EAAE;AACtG;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACa,SAAA,oBAAoB,CAAC,MAAyB,EAAE,mBAAiC,EAAA;AAC/F,IAAA,OAAO;UACH,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB;AAC5D,UAAE,aAAa,CAAC,+BAA+B,CAAC,mBAAmB,CAAC;AACxE;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,gBAAgB,CAAC,MAAyB,EAAA;AACxD,IAAA,OAAO,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,2BAA2B,EAAE;AAClG;AAEA;AACO,eAAe,SAAS,CAAC,KAAc,EAAA;IAC5C,OAAO,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE;AACvD;AAEA;AACO,eAAe,SAAS,CAAC,KAAc,EAAA;IAC5C,OAAO,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE;AACvD;;;;"}
|
package/package.json
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
"**"
|
|
7
7
|
],
|
|
8
8
|
"name": "@algorandfoundation/algokit-utils",
|
|
9
|
-
"version": "7.0.
|
|
9
|
+
"version": "7.0.1",
|
|
10
10
|
"private": false,
|
|
11
11
|
"description": "A set of core Algorand utilities written in TypeScript and released via npm that make it easier to build solutions on Algorand.",
|
|
12
12
|
"author": "Algorand Foundation",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"engines": {
|
|
15
|
-
"node": ">=
|
|
15
|
+
"node": ">=20.0"
|
|
16
16
|
},
|
|
17
17
|
"type": "commonjs",
|
|
18
18
|
"module": "index.mjs",
|
|
@@ -37,14 +37,14 @@
|
|
|
37
37
|
},
|
|
38
38
|
"overrides": {
|
|
39
39
|
"semver": "7.5.2",
|
|
40
|
-
"eslint-plugin-prettier": "5.0.0",
|
|
41
40
|
"braces": "3.0.3",
|
|
42
|
-
"micromatch": "4.0.8"
|
|
41
|
+
"micromatch": "4.0.8",
|
|
42
|
+
"cross-spawn": "^7.0.6"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"buffer": "^6.0.3"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"algosdk": "
|
|
48
|
+
"algosdk": ">=2.9.0 <3.0"
|
|
49
49
|
}
|
|
50
50
|
}
|
package/testing/account.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sources":["../../src/testing/account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClient, Config } from '../'\nimport { GetTestAccountParams } from '../types/testing'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `getTestAccount(params, algorandClient)` instead. The `algorandClient` object can be created using `AlgorandClient.fromClients({ algod, kmd })`.\n *\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algod: Algodv2, kmd?: Kmd): Promise<Account>\n/**\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algorand An AlgorandClient client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algorand: AlgorandClient): Promise<Account>\nexport async function getTestAccount(\n { suppressLog, initialFunds, accountGetter }: GetTestAccountParams,\n algodOrAlgorandClient: Algodv2 | AlgorandClient,\n kmd?: Kmd,\n): Promise<Account> {\n const algorand =\n algodOrAlgorandClient instanceof AlgorandClient\n ? algodOrAlgorandClient\n : AlgorandClient.fromClients({\n algod: algodOrAlgorandClient,\n kmd,\n })\n\n const account = accountGetter ? await accountGetter(algorand) : algosdk.generateAccount()\n\n Config.getLogger(suppressLog).info(\n `New test account created with address '${account.addr}' and mnemonic '${algosdk.secretKeyToMnemonic(account.sk)}'.`,\n )\n\n const dispenser = await algorand.account.dispenserFromEnvironment()\n\n await algorand.send.payment({\n sender: dispenser.addr,\n receiver: account.addr,\n amount: initialFunds,\n note: 'Funding test account',\n suppressLog,\n })\n\n const accountInfo = await algorand.account.getInformation(account.addr)\n\n Config.getLogger(suppressLog).info('Test account funded; account balance: %d µALGO', accountInfo.balance.microAlgo)\n\n return account\n}\n"],"names":["AlgorandClient","Config"],"mappings":";;;;;;AA8BO,eAAe,cAAc,CAClC,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAwB,EAClE,qBAA+C,EAC/C,GAAS,EAAA;AAET,IAAA,MAAM,QAAQ,GACZ,qBAAqB,YAAYA
|
|
1
|
+
{"version":3,"file":"account.js","sources":["../../src/testing/account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClient, Config } from '../'\nimport { GetTestAccountParams } from '../types/testing'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `getTestAccount(params, algorandClient)` instead. The `algorandClient` object can be created using `AlgorandClient.fromClients({ algod, kmd })`.\n *\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algod: Algodv2, kmd?: Kmd): Promise<Account>\n/**\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algorand An AlgorandClient client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algorand: AlgorandClient): Promise<Account>\nexport async function getTestAccount(\n { suppressLog, initialFunds, accountGetter }: GetTestAccountParams,\n algodOrAlgorandClient: Algodv2 | AlgorandClient,\n kmd?: Kmd,\n): Promise<Account> {\n const algorand =\n algodOrAlgorandClient instanceof AlgorandClient\n ? algodOrAlgorandClient\n : AlgorandClient.fromClients({\n algod: algodOrAlgorandClient,\n kmd,\n })\n\n const account = accountGetter ? await accountGetter(algorand) : algosdk.generateAccount()\n\n Config.getLogger(suppressLog).info(\n `New test account created with address '${account.addr}' and mnemonic '${algosdk.secretKeyToMnemonic(account.sk)}'.`,\n )\n\n const dispenser = await algorand.account.dispenserFromEnvironment()\n\n await algorand.send.payment({\n sender: dispenser.addr,\n receiver: account.addr,\n amount: initialFunds,\n note: 'Funding test account',\n suppressLog,\n })\n\n const accountInfo = await algorand.account.getInformation(account.addr)\n\n Config.getLogger(suppressLog).info('Test account funded; account balance: %d µALGO', accountInfo.balance.microAlgo)\n\n return account\n}\n"],"names":["AlgorandClient","Config"],"mappings":";;;;;;AA8BO,eAAe,cAAc,CAClC,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAwB,EAClE,qBAA+C,EAC/C,GAAS,EAAA;AAET,IAAA,MAAM,QAAQ,GACZ,qBAAqB,YAAYA;AAC/B,UAAE;AACF,UAAEA,mCAAc,CAAC,WAAW,CAAC;AACzB,YAAA,KAAK,EAAE,qBAAqB;YAC5B,GAAG;AACJ,SAAA,CAAC;AAER,IAAA,MAAM,OAAO,GAAG,aAAa,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE;IAEzFC,aAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAChC,CAAA,uCAAA,EAA0C,OAAO,CAAC,IAAI,CAAmB,gBAAA,EAAA,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAI,EAAA,CAAA,CACrH;IAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE;AAEnE,IAAA,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,SAAS,CAAC,IAAI;QACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;AACtB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,IAAI,EAAE,sBAAsB;QAC5B,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;AAEvE,IAAAA,aAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gDAAgD,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;AAEnH,IAAA,OAAO,OAAO;AAChB;;;;"}
|
package/testing/account.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.mjs","sources":["../../src/testing/account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClient, Config } from '../'\nimport { GetTestAccountParams } from '../types/testing'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `getTestAccount(params, algorandClient)` instead. The `algorandClient` object can be created using `AlgorandClient.fromClients({ algod, kmd })`.\n *\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algod: Algodv2, kmd?: Kmd): Promise<Account>\n/**\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algorand An AlgorandClient client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algorand: AlgorandClient): Promise<Account>\nexport async function getTestAccount(\n { suppressLog, initialFunds, accountGetter }: GetTestAccountParams,\n algodOrAlgorandClient: Algodv2 | AlgorandClient,\n kmd?: Kmd,\n): Promise<Account> {\n const algorand =\n algodOrAlgorandClient instanceof AlgorandClient\n ? algodOrAlgorandClient\n : AlgorandClient.fromClients({\n algod: algodOrAlgorandClient,\n kmd,\n })\n\n const account = accountGetter ? await accountGetter(algorand) : algosdk.generateAccount()\n\n Config.getLogger(suppressLog).info(\n `New test account created with address '${account.addr}' and mnemonic '${algosdk.secretKeyToMnemonic(account.sk)}'.`,\n )\n\n const dispenser = await algorand.account.dispenserFromEnvironment()\n\n await algorand.send.payment({\n sender: dispenser.addr,\n receiver: account.addr,\n amount: initialFunds,\n note: 'Funding test account',\n suppressLog,\n })\n\n const accountInfo = await algorand.account.getInformation(account.addr)\n\n Config.getLogger(suppressLog).info('Test account funded; account balance: %d µALGO', accountInfo.balance.microAlgo)\n\n return account\n}\n"],"names":[],"mappings":";;;;AA8BO,eAAe,cAAc,CAClC,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAwB,EAClE,qBAA+C,EAC/C,GAAS,EAAA;AAET,IAAA,MAAM,QAAQ,GACZ,qBAAqB,YAAY
|
|
1
|
+
{"version":3,"file":"account.mjs","sources":["../../src/testing/account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClient, Config } from '../'\nimport { GetTestAccountParams } from '../types/testing'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `getTestAccount(params, algorandClient)` instead. The `algorandClient` object can be created using `AlgorandClient.fromClients({ algod, kmd })`.\n *\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algod: Algodv2, kmd?: Kmd): Promise<Account>\n/**\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algorand An AlgorandClient client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algorand: AlgorandClient): Promise<Account>\nexport async function getTestAccount(\n { suppressLog, initialFunds, accountGetter }: GetTestAccountParams,\n algodOrAlgorandClient: Algodv2 | AlgorandClient,\n kmd?: Kmd,\n): Promise<Account> {\n const algorand =\n algodOrAlgorandClient instanceof AlgorandClient\n ? algodOrAlgorandClient\n : AlgorandClient.fromClients({\n algod: algodOrAlgorandClient,\n kmd,\n })\n\n const account = accountGetter ? await accountGetter(algorand) : algosdk.generateAccount()\n\n Config.getLogger(suppressLog).info(\n `New test account created with address '${account.addr}' and mnemonic '${algosdk.secretKeyToMnemonic(account.sk)}'.`,\n )\n\n const dispenser = await algorand.account.dispenserFromEnvironment()\n\n await algorand.send.payment({\n sender: dispenser.addr,\n receiver: account.addr,\n amount: initialFunds,\n note: 'Funding test account',\n suppressLog,\n })\n\n const accountInfo = await algorand.account.getInformation(account.addr)\n\n Config.getLogger(suppressLog).info('Test account funded; account balance: %d µALGO', accountInfo.balance.microAlgo)\n\n return account\n}\n"],"names":[],"mappings":";;;;AA8BO,eAAe,cAAc,CAClC,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAwB,EAClE,qBAA+C,EAC/C,GAAS,EAAA;AAET,IAAA,MAAM,QAAQ,GACZ,qBAAqB,YAAY;AAC/B,UAAE;AACF,UAAE,cAAc,CAAC,WAAW,CAAC;AACzB,YAAA,KAAK,EAAE,qBAAqB;YAC5B,GAAG;AACJ,SAAA,CAAC;AAER,IAAA,MAAM,OAAO,GAAG,aAAa,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE;IAEzF,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAChC,CAAA,uCAAA,EAA0C,OAAO,CAAC,IAAI,CAAmB,gBAAA,EAAA,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAI,EAAA,CAAA,CACrH;IAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE;AAEnE,IAAA,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,SAAS,CAAC,IAAI;QACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;AACtB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,IAAI,EAAE,sBAAsB;QAC5B,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;AAEvE,IAAA,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gDAAgD,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;AAEnH,IAAA,OAAO,OAAO;AAChB;;;;"}
|