@akta/sdk 1.4.0 → 1.4.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.
Files changed (107) hide show
  1. package/dist/auction/index.js +5 -5
  2. package/dist/auction/index.mjs +4 -4
  3. package/dist/{chunk-DRN45QLK.mjs → chunk-35FZLG7E.mjs} +3 -3
  4. package/dist/{chunk-3NSSJP42.js → chunk-3K3PI3MS.js} +7 -7
  5. package/dist/{chunk-3NSSJP42.js.map → chunk-3K3PI3MS.js.map} +1 -1
  6. package/dist/{chunk-XU4ITGXG.js → chunk-3MYGUB46.js} +5 -5
  7. package/dist/{chunk-XU4ITGXG.js.map → chunk-3MYGUB46.js.map} +1 -1
  8. package/dist/{chunk-URJA7W37.js → chunk-4HUNFJHH.js} +34 -34
  9. package/dist/{chunk-URJA7W37.js.map → chunk-4HUNFJHH.js.map} +1 -1
  10. package/dist/{chunk-WXJI33BX.js → chunk-4M47ML5B.js} +16 -16
  11. package/dist/{chunk-WXJI33BX.js.map → chunk-4M47ML5B.js.map} +1 -1
  12. package/dist/{chunk-CSBKLP4L.mjs → chunk-5UOVWSOZ.mjs} +2 -2
  13. package/dist/{chunk-5NJZUJMU.js → chunk-6MJUMIDU.js} +5 -5
  14. package/dist/{chunk-5NJZUJMU.js.map → chunk-6MJUMIDU.js.map} +1 -1
  15. package/dist/{chunk-SRJSQAZG.mjs → chunk-6PQXPZ4L.mjs} +4 -4
  16. package/dist/{chunk-3PNY2JHX.mjs → chunk-7W2QW4LL.mjs} +3 -3
  17. package/dist/{chunk-GKK4NN54.mjs → chunk-ABYVO2ES.mjs} +4 -4
  18. package/dist/{chunk-O3UY4REA.mjs → chunk-ADVSZM5D.mjs} +3 -3
  19. package/dist/{chunk-PREUQDP5.mjs → chunk-AT43XHIC.mjs} +2 -2
  20. package/dist/{chunk-I2QWPEZJ.mjs → chunk-BM3VEIPN.mjs} +4 -4
  21. package/dist/{chunk-BP2QQVM2.mjs → chunk-CELIOF7S.mjs} +2 -2
  22. package/dist/{chunk-BP2QQVM2.mjs.map → chunk-CELIOF7S.mjs.map} +1 -1
  23. package/dist/{chunk-S74KUBXO.js → chunk-CNBZJOUH.js} +4 -4
  24. package/dist/{chunk-S74KUBXO.js.map → chunk-CNBZJOUH.js.map} +1 -1
  25. package/dist/{chunk-7CYO4FRU.mjs → chunk-CRFLWLZM.mjs} +3 -3
  26. package/dist/{chunk-S5VB2RG3.mjs → chunk-FGIEL2OP.mjs} +3 -3
  27. package/dist/{chunk-HPP6DCRO.js → chunk-FYPYEWGQ.js} +5 -5
  28. package/dist/{chunk-HPP6DCRO.js.map → chunk-FYPYEWGQ.js.map} +1 -1
  29. package/dist/{chunk-J2NZ4M55.mjs → chunk-HVPJ2WJQ.mjs} +3 -3
  30. package/dist/{chunk-4K2ZMC7H.js → chunk-I5AT2KOB.js} +2 -2
  31. package/dist/{chunk-4K2ZMC7H.js.map → chunk-I5AT2KOB.js.map} +1 -1
  32. package/dist/{chunk-WSWJUZEE.mjs → chunk-IDV5XTW4.mjs} +3 -3
  33. package/dist/{chunk-CTG7ZYXI.js → chunk-IUN2ES43.js} +8 -8
  34. package/dist/{chunk-CTG7ZYXI.js.map → chunk-IUN2ES43.js.map} +1 -1
  35. package/dist/{chunk-4RY6XBZX.mjs → chunk-K5PD3LNB.mjs} +4 -4
  36. package/dist/{chunk-H6WDKSFN.js → chunk-KCBZBDE6.js} +8 -8
  37. package/dist/{chunk-H6WDKSFN.js.map → chunk-KCBZBDE6.js.map} +1 -1
  38. package/dist/{chunk-QRX6JALT.js → chunk-KTA4UUAL.js} +6 -6
  39. package/dist/{chunk-QRX6JALT.js.map → chunk-KTA4UUAL.js.map} +1 -1
  40. package/dist/{chunk-V6WMM5HK.js → chunk-LG7TVAL6.js} +7 -7
  41. package/dist/{chunk-V6WMM5HK.js.map → chunk-LG7TVAL6.js.map} +1 -1
  42. package/dist/{chunk-RBK7C6YC.js → chunk-MG6VYVYU.js} +5 -5
  43. package/dist/{chunk-RBK7C6YC.js.map → chunk-MG6VYVYU.js.map} +1 -1
  44. package/dist/{chunk-HDOL6YZD.js → chunk-NIQLRKUH.js} +6 -6
  45. package/dist/{chunk-HDOL6YZD.js.map → chunk-NIQLRKUH.js.map} +1 -1
  46. package/dist/{chunk-7Q75O4NN.mjs → chunk-ORBRQGTP.mjs} +3 -3
  47. package/dist/{chunk-5JASK4RN.mjs → chunk-RCGFZWNB.mjs} +3 -3
  48. package/dist/{chunk-BBDHRXDA.js → chunk-REHPQ5MP.js} +10 -10
  49. package/dist/{chunk-BBDHRXDA.js.map → chunk-REHPQ5MP.js.map} +1 -1
  50. package/dist/{chunk-H6GGQNTY.js → chunk-TAYTLPIM.js} +8 -8
  51. package/dist/{chunk-H6GGQNTY.js.map → chunk-TAYTLPIM.js.map} +1 -1
  52. package/dist/{chunk-4PRB4GYJ.mjs → chunk-XAYLPXAU.mjs} +2 -2
  53. package/dist/{chunk-2LTBRR7Z.js → chunk-XBVXSRWD.js} +5 -5
  54. package/dist/{chunk-2LTBRR7Z.js.map → chunk-XBVXSRWD.js.map} +1 -1
  55. package/dist/{chunk-HMPVHEWD.js → chunk-YW5AOFQI.js} +6 -6
  56. package/dist/{chunk-HMPVHEWD.js.map → chunk-YW5AOFQI.js.map} +1 -1
  57. package/dist/{chunk-LF6QXKLT.mjs → chunk-ZSQDFCJC.mjs} +3 -3
  58. package/dist/dao/index.js +5 -5
  59. package/dist/dao/index.mjs +4 -4
  60. package/dist/escrow/index.js +4 -4
  61. package/dist/escrow/index.mjs +3 -3
  62. package/dist/gates/index.js +4 -4
  63. package/dist/gates/index.mjs +3 -3
  64. package/dist/hyper-swap/index.js +4 -4
  65. package/dist/hyper-swap/index.mjs +3 -3
  66. package/dist/index.js +19 -19
  67. package/dist/index.mjs +18 -18
  68. package/dist/marketplace/index.js +5 -5
  69. package/dist/marketplace/index.mjs +4 -4
  70. package/dist/meta-merkles/index.js +4 -4
  71. package/dist/meta-merkles/index.mjs +3 -3
  72. package/dist/poll/index.js +4 -4
  73. package/dist/poll/index.mjs +3 -3
  74. package/dist/prize-box/index.js +4 -4
  75. package/dist/prize-box/index.mjs +3 -3
  76. package/dist/raffle/index.js +5 -5
  77. package/dist/raffle/index.mjs +4 -4
  78. package/dist/rewards/index.js +4 -4
  79. package/dist/rewards/index.mjs +3 -3
  80. package/dist/social/index.js +3 -3
  81. package/dist/social/index.mjs +2 -2
  82. package/dist/staking/index.js +4 -4
  83. package/dist/staking/index.mjs +3 -3
  84. package/dist/staking-pool/index.js +4 -4
  85. package/dist/staking-pool/index.mjs +3 -3
  86. package/dist/subscriptions/index.js +4 -4
  87. package/dist/subscriptions/index.mjs +3 -3
  88. package/dist/wallet/index.js +4 -4
  89. package/dist/wallet/index.mjs +3 -3
  90. package/package.json +1 -1
  91. /package/dist/{chunk-DRN45QLK.mjs.map → chunk-35FZLG7E.mjs.map} +0 -0
  92. /package/dist/{chunk-CSBKLP4L.mjs.map → chunk-5UOVWSOZ.mjs.map} +0 -0
  93. /package/dist/{chunk-SRJSQAZG.mjs.map → chunk-6PQXPZ4L.mjs.map} +0 -0
  94. /package/dist/{chunk-3PNY2JHX.mjs.map → chunk-7W2QW4LL.mjs.map} +0 -0
  95. /package/dist/{chunk-GKK4NN54.mjs.map → chunk-ABYVO2ES.mjs.map} +0 -0
  96. /package/dist/{chunk-O3UY4REA.mjs.map → chunk-ADVSZM5D.mjs.map} +0 -0
  97. /package/dist/{chunk-PREUQDP5.mjs.map → chunk-AT43XHIC.mjs.map} +0 -0
  98. /package/dist/{chunk-I2QWPEZJ.mjs.map → chunk-BM3VEIPN.mjs.map} +0 -0
  99. /package/dist/{chunk-7CYO4FRU.mjs.map → chunk-CRFLWLZM.mjs.map} +0 -0
  100. /package/dist/{chunk-S5VB2RG3.mjs.map → chunk-FGIEL2OP.mjs.map} +0 -0
  101. /package/dist/{chunk-J2NZ4M55.mjs.map → chunk-HVPJ2WJQ.mjs.map} +0 -0
  102. /package/dist/{chunk-WSWJUZEE.mjs.map → chunk-IDV5XTW4.mjs.map} +0 -0
  103. /package/dist/{chunk-4RY6XBZX.mjs.map → chunk-K5PD3LNB.mjs.map} +0 -0
  104. /package/dist/{chunk-7Q75O4NN.mjs.map → chunk-ORBRQGTP.mjs.map} +0 -0
  105. /package/dist/{chunk-5JASK4RN.mjs.map → chunk-RCGFZWNB.mjs.map} +0 -0
  106. /package/dist/{chunk-4PRB4GYJ.mjs.map → chunk-XAYLPXAU.mjs.map} +0 -0
  107. /package/dist/{chunk-LF6QXKLT.mjs.map → chunk-ZSQDFCJC.mjs.map} +0 -0
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  PrizeBoxFactorySDK
3
- } from "./chunk-PREUQDP5.mjs";
3
+ } from "./chunk-AT43XHIC.mjs";
4
4
  import {
5
5
  makeErrorTranslator
6
6
  } from "./chunk-2AEP6DTX.mjs";
7
7
  import {
8
8
  BaseSDK
9
- } from "./chunk-CSBKLP4L.mjs";
9
+ } from "./chunk-5UOVWSOZ.mjs";
10
10
  import {
11
11
  ENV_VAR_NAMES
12
- } from "./chunk-BP2QQVM2.mjs";
12
+ } from "./chunk-CELIOF7S.mjs";
13
13
 
14
14
  // src/auction/index.ts
15
15
  import { microAlgo as microAlgo2 } from "@algorandfoundation/algokit-utils";
@@ -3831,4 +3831,4 @@ export {
3831
3831
  translateAuctionError,
3832
3832
  AuctionSDK
3833
3833
  };
3834
- //# sourceMappingURL=chunk-SRJSQAZG.mjs.map
3834
+ //# sourceMappingURL=chunk-6PQXPZ4L.mjs.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-2AEP6DTX.mjs";
4
4
  import {
5
5
  BaseSDK
6
- } from "./chunk-CSBKLP4L.mjs";
6
+ } from "./chunk-5UOVWSOZ.mjs";
7
7
  import {
8
8
  ENV_VAR_NAMES
9
- } from "./chunk-BP2QQVM2.mjs";
9
+ } from "./chunk-CELIOF7S.mjs";
10
10
 
11
11
  // src/hyper-swap/index.ts
12
12
  import { microAlgo } from "@algorandfoundation/algokit-utils";
@@ -1501,4 +1501,4 @@ export {
1501
1501
  OfferState,
1502
1502
  HyperSwapSDK
1503
1503
  };
1504
- //# sourceMappingURL=chunk-3PNY2JHX.mjs.map
1504
+ //# sourceMappingURL=chunk-7W2QW4LL.mjs.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  PrizeBoxFactorySDK
3
- } from "./chunk-PREUQDP5.mjs";
3
+ } from "./chunk-AT43XHIC.mjs";
4
4
  import {
5
5
  makeErrorTranslator
6
6
  } from "./chunk-2AEP6DTX.mjs";
7
7
  import {
8
8
  BaseSDK
9
- } from "./chunk-CSBKLP4L.mjs";
9
+ } from "./chunk-5UOVWSOZ.mjs";
10
10
  import {
11
11
  ENV_VAR_NAMES
12
- } from "./chunk-BP2QQVM2.mjs";
12
+ } from "./chunk-CELIOF7S.mjs";
13
13
 
14
14
  // src/raffle/index.ts
15
15
  import { microAlgo as microAlgo2 } from "@algorandfoundation/algokit-utils";
@@ -3720,4 +3720,4 @@ export {
3720
3720
  newRaffle,
3721
3721
  RaffleSDK
3722
3722
  };
3723
- //# sourceMappingURL=chunk-GKK4NN54.mjs.map
3723
+ //# sourceMappingURL=chunk-ABYVO2ES.mjs.map
@@ -13,12 +13,12 @@ import {
13
13
  } from "./chunk-JIDDRUHU.mjs";
14
14
  import {
15
15
  BaseSDK
16
- } from "./chunk-CSBKLP4L.mjs";
16
+ } from "./chunk-5UOVWSOZ.mjs";
17
17
  import {
18
18
  ENV_VAR_NAMES,
19
19
  MAX_UINT64,
20
20
  emptySigner
21
- } from "./chunk-BP2QQVM2.mjs";
21
+ } from "./chunk-CELIOF7S.mjs";
22
22
  import {
23
23
  hasSenderSigner,
24
24
  isPluginSDKReturn,
@@ -26948,4 +26948,4 @@ export {
26948
26948
  SunsetPluginSDK,
26949
26949
  WalletSDK
26950
26950
  };
26951
- //# sourceMappingURL=chunk-O3UY4REA.mjs.map
26951
+ //# sourceMappingURL=chunk-ADVSZM5D.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2AEP6DTX.mjs";
4
4
  import {
5
5
  BaseSDK
6
- } from "./chunk-CSBKLP4L.mjs";
6
+ } from "./chunk-5UOVWSOZ.mjs";
7
7
 
8
8
  // src/prize-box/index.ts
9
9
  import { microAlgo } from "@algorandfoundation/algokit-utils";
@@ -1733,4 +1733,4 @@ export {
1733
1733
  PrizeBoxFactorySDK,
1734
1734
  newPrizeBox
1735
1735
  };
1736
- //# sourceMappingURL=chunk-PREUQDP5.mjs.map
1736
+ //# sourceMappingURL=chunk-AT43XHIC.mjs.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  PrizeBoxFactorySDK
3
- } from "./chunk-PREUQDP5.mjs";
3
+ } from "./chunk-AT43XHIC.mjs";
4
4
  import {
5
5
  makeErrorTranslator
6
6
  } from "./chunk-2AEP6DTX.mjs";
7
7
  import {
8
8
  BaseSDK
9
- } from "./chunk-CSBKLP4L.mjs";
9
+ } from "./chunk-5UOVWSOZ.mjs";
10
10
  import {
11
11
  ENV_VAR_NAMES
12
- } from "./chunk-BP2QQVM2.mjs";
12
+ } from "./chunk-CELIOF7S.mjs";
13
13
 
14
14
  // src/marketplace/index.ts
15
15
  import { microAlgo } from "@algorandfoundation/algokit-utils";
@@ -2542,4 +2542,4 @@ export {
2542
2542
  MarketplaceSDK,
2543
2543
  newListing
2544
2544
  };
2545
- //# sourceMappingURL=chunk-I2QWPEZJ.mjs.map
2545
+ //# sourceMappingURL=chunk-BM3VEIPN.mjs.map
@@ -105,7 +105,7 @@ var MAINNET_APP_IDS = {
105
105
  selfOptinPlugin: 3569560545n,
106
106
  asaMintPlugin: 3569560791n,
107
107
  payPlugin: 3569560828n,
108
- haystackRouterPlugin: 3579176091n,
108
+ haystackRouterPlugin: 3579545659n,
109
109
  hyperSwapPlugin: 3569561068n,
110
110
  subscriptionsPlugin: 3569561107n,
111
111
  auctionPlugin: 3569561141n,
@@ -639,4 +639,4 @@ export {
639
639
  DEFAULT_SEND_PARAMS,
640
640
  MAX_UINT64
641
641
  };
642
- //# sourceMappingURL=chunk-BP2QQVM2.mjs.map
642
+ //# sourceMappingURL=chunk-CELIOF7S.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/networks.ts","../src/config.ts","../src/constants.ts"],"sourcesContent":["/**\n * Network-specific app ID configuration\n * \n * This file contains the baked-in app IDs for each network.\n * These are used when the SDK auto-detects the network from the AlgorandClient.\n * \n * To update after a deployment:\n * 1. Run deploy-universe.ts for the target network\n * 2. Copy the app IDs from the generated .env file to this file\n */\n\nimport { AkitaNetwork } from './config';\n\n/**\n * App IDs for a specific network\n */\nexport interface NetworkAppIds {\n // Core Contracts\n dao: bigint;\n daoProposalValidator: bigint;\n wallet: bigint;\n escrowFactory: bigint;\n walletFactory: bigint;\n subscriptions: bigint;\n stakingPoolFactory: bigint;\n staking: bigint;\n rewards: bigint;\n \n // Social System\n social: bigint;\n socialGraph: bigint;\n socialImpact: bigint;\n socialModeration: bigint;\n \n // Factories\n auctionFactory: bigint;\n marketplace: bigint;\n raffleFactory: bigint;\n pollFactory: bigint;\n prizeBoxFactory: bigint;\n \n // Plugins\n revenueManagerPlugin: bigint;\n updatePlugin: bigint;\n optinPlugin: bigint;\n selfOptinPlugin: bigint;\n asaMintPlugin: bigint;\n payPlugin: bigint;\n haystackRouterPlugin: bigint;\n hyperSwapPlugin: bigint;\n subscriptionsPlugin: bigint;\n auctionPlugin: bigint;\n daoPlugin: bigint;\n dualStakePlugin: bigint;\n gatePlugin: bigint;\n marketplacePlugin: bigint;\n nfdPlugin: bigint;\n paySiloPlugin: bigint;\n paySiloFactoryPlugin: bigint;\n pollPlugin: bigint;\n rafflePlugin: bigint;\n rewardsPlugin: bigint;\n socialPlugin: bigint;\n stakingPlugin: bigint;\n stakingPoolPlugin: bigint;\n \n // Gate & Other\n gate: bigint;\n hyperSwap: bigint;\n metaMerkles: bigint;\n \n // Subgates\n akitaReferrerGate: bigint;\n assetGate: bigint;\n merkleAddressGate: bigint;\n merkleAssetGate: bigint;\n nfdGate: bigint;\n nfdRootGate: bigint;\n pollGate: bigint;\n socialActivityGate: bigint;\n socialFollowerCountGate: bigint;\n socialFollowerIndexGate: bigint;\n socialImpactGate: bigint;\n socialModeratorGate: bigint;\n stakingAmountGate: bigint;\n stakingPowerGate: bigint;\n subscriptionGate: bigint;\n subscriptionStreakGate: bigint;\n \n // Assets\n akta: bigint;\n bones: bigint;\n usdc: bigint;\n \n // External Apps (for reference)\n vrfBeacon: bigint;\n nfdRegistry: bigint;\n assetInbox: bigint;\n akitaNfd: bigint;\n}\n\n/**\n * Testnet app IDs\n * \n * Last updated: 2026-05-23T07:07:40.259Z\n */\nexport const TESTNET_APP_IDS: NetworkAppIds = {\n // Core Contracts\n dao: 763128236n,\n daoProposalValidator: 763128235n,\n wallet: 763128598n,\n escrowFactory: 763128227n,\n walletFactory: 763128255n,\n subscriptions: 763128278n,\n stakingPoolFactory: 763128285n,\n staking: 763128307n,\n rewards: 763128244n,\n \n // Social System\n social: 763128333n,\n socialGraph: 763128326n,\n socialImpact: 763128316n,\n socialModeration: 763128334n,\n \n // Factories\n auctionFactory: 763128353n,\n marketplace: 763128381n,\n raffleFactory: 763128404n,\n pollFactory: 763128430n,\n prizeBoxFactory: 763128434n,\n \n // Plugins\n revenueManagerPlugin: 763128627n,\n updatePlugin: 763128671n,\n optinPlugin: 763128795n,\n selfOptinPlugin: 763128796n,\n asaMintPlugin: 763128820n,\n payPlugin: 763128821n,\n haystackRouterPlugin: 763128851n,\n hyperSwapPlugin: 763128858n,\n subscriptionsPlugin: 763128859n,\n auctionPlugin: 763128866n,\n daoPlugin: 763128876n,\n dualStakePlugin: 763128877n,\n gatePlugin: 763128884n,\n marketplacePlugin: 763128885n,\n nfdPlugin: 763128895n,\n paySiloPlugin: 763128904n,\n paySiloFactoryPlugin: 763128905n,\n pollPlugin: 763128906n,\n rafflePlugin: 763128922n,\n rewardsPlugin: 763128923n,\n socialPlugin: 763128930n,\n stakingPlugin: 763128931n,\n stakingPoolPlugin: 763128941n,\n \n // Gate & Other\n gate: 763128492n,\n hyperSwap: 763128499n,\n metaMerkles: 763128435n,\n \n // Subgates\n akitaReferrerGate: 763128503n,\n assetGate: 763128508n,\n merkleAddressGate: 763128509n,\n merkleAssetGate: 763128506n,\n nfdGate: 763128504n,\n nfdRootGate: 763128511n,\n pollGate: 763128514n,\n socialActivityGate: 763128517n,\n socialFollowerCountGate: 763128518n,\n socialFollowerIndexGate: 763128516n,\n socialImpactGate: 763128505n,\n socialModeratorGate: 763128512n,\n stakingAmountGate: 763128513n,\n stakingPowerGate: 763128510n,\n subscriptionGate: 763128507n,\n subscriptionStreakGate: 763128515n,\n \n // Assets\n akta: 752884771n,\n bones: 763129960n,\n usdc: 10458941n,\n \n // External Apps\n vrfBeacon: 600011887n,\n nfdRegistry: 84366825n,\n assetInbox: 643020148n,\n akitaNfd: 0n,\n};\n\n/**\n * Mainnet app IDs\n * \n * Last updated: 2026-05-25T23:08:55Z\n */\nexport const MAINNET_APP_IDS: NetworkAppIds = {\n // Core Contracts\n dao: 3569556034n,\n daoProposalValidator: 3569555925n,\n wallet: 3569559153n,\n escrowFactory: 3569555755n,\n walletFactory: 3569556257n,\n subscriptions: 3569556497n,\n stakingPoolFactory: 3569556570n,\n staking: 3569556776n,\n rewards: 3569556095n,\n \n // Social System\n social: 3569557130n,\n socialGraph: 3569557033n,\n socialImpact: 3569556973n,\n socialModeration: 3569557176n,\n \n // Factories\n auctionFactory: 3569557408n,\n marketplace: 3569557584n,\n raffleFactory: 3569557743n,\n pollFactory: 3569557932n,\n prizeBoxFactory: 3569557972n,\n \n // Plugins\n revenueManagerPlugin: 3569559335n,\n updatePlugin: 3569559689n,\n optinPlugin: 3569560490n,\n selfOptinPlugin: 3569560545n,\n asaMintPlugin: 3569560791n,\n payPlugin: 3569560828n,\n haystackRouterPlugin: 3579176091n,\n hyperSwapPlugin: 3569561068n,\n subscriptionsPlugin: 3569561107n,\n auctionPlugin: 3569561141n,\n daoPlugin: 3569561215n,\n dualStakePlugin: 3569561317n,\n gatePlugin: 3569561367n,\n marketplacePlugin: 3569561455n,\n nfdPlugin: 3572944055n,\n paySiloPlugin: 3569561570n,\n paySiloFactoryPlugin: 3569561636n,\n pollPlugin: 3569561749n,\n rafflePlugin: 3569561863n,\n rewardsPlugin: 3569561963n,\n socialPlugin: 3569562087n,\n stakingPlugin: 3572944799n,\n stakingPoolPlugin: 3569562283n,\n \n // Gate & Other\n gate: 3569558504n,\n hyperSwap: 3569558555n,\n metaMerkles: 3569558010n,\n \n // Subgates\n akitaReferrerGate: 3569558604n,\n assetGate: 3569558602n,\n merkleAddressGate: 3569558615n,\n merkleAssetGate: 3569558603n,\n nfdGate: 3569558608n,\n nfdRootGate: 3569558606n,\n pollGate: 3569558607n,\n socialActivityGate: 3569558616n,\n socialFollowerCountGate: 3569558612n,\n socialFollowerIndexGate: 3569558605n,\n socialImpactGate: 3569558618n,\n socialModeratorGate: 3569558617n,\n stakingAmountGate: 3569558613n,\n stakingPowerGate: 3569558611n,\n subscriptionGate: 3569558609n,\n subscriptionStreakGate: 3569558614n,\n \n // Assets\n akta: 523683256n,\n bones: 3569570855n,\n usdc: 31566704n,\n \n // External Apps\n vrfBeacon: 1615566206n,\n nfdRegistry: 760937186n,\n assetInbox: 2449590623n,\n akitaNfd: 765902356n,\n};\n\n/**\n * Map of network to app IDs.\n * Localnet IDs are not included — they are ephemeral and must be provided\n * externally via .env.localnet after each deploy-universe run.\n */\nexport const NETWORK_APP_IDS: Partial<Record<AkitaNetwork, NetworkAppIds>> = {\n testnet: TESTNET_APP_IDS,\n mainnet: MAINNET_APP_IDS,\n};\n\n/**\n * Create an empty NetworkAppIds object (all 0n).\n * Used as the base for localnet — consumers must overlay with real IDs.\n */\nexport function createEmptyAppIds(): NetworkAppIds {\n return {\n dao: 0n, daoProposalValidator: 0n, wallet: 0n, escrowFactory: 0n, walletFactory: 0n,\n subscriptions: 0n, stakingPoolFactory: 0n, staking: 0n, rewards: 0n,\n social: 0n, socialGraph: 0n, socialImpact: 0n, socialModeration: 0n,\n auctionFactory: 0n, marketplace: 0n, raffleFactory: 0n, pollFactory: 0n, prizeBoxFactory: 0n,\n revenueManagerPlugin: 0n, updatePlugin: 0n, optinPlugin: 0n, selfOptinPlugin: 0n,\n asaMintPlugin: 0n, payPlugin: 0n, haystackRouterPlugin: 0n, hyperSwapPlugin: 0n, subscriptionsPlugin: 0n,\n auctionPlugin: 0n, daoPlugin: 0n, dualStakePlugin: 0n, gatePlugin: 0n,\n marketplacePlugin: 0n, nfdPlugin: 0n, paySiloPlugin: 0n, paySiloFactoryPlugin: 0n,\n pollPlugin: 0n, rafflePlugin: 0n, rewardsPlugin: 0n, socialPlugin: 0n,\n stakingPlugin: 0n, stakingPoolPlugin: 0n,\n gate: 0n, hyperSwap: 0n, metaMerkles: 0n,\n akitaReferrerGate: 0n, assetGate: 0n, merkleAddressGate: 0n, merkleAssetGate: 0n,\n nfdGate: 0n, nfdRootGate: 0n, pollGate: 0n, socialActivityGate: 0n,\n socialFollowerCountGate: 0n, socialFollowerIndexGate: 0n, socialImpactGate: 0n,\n socialModeratorGate: 0n, stakingAmountGate: 0n, stakingPowerGate: 0n,\n subscriptionGate: 0n, subscriptionStreakGate: 0n,\n akta: 0n, bones: 0n, usdc: 0n,\n vrfBeacon: 0n, nfdRegistry: 0n, assetInbox: 0n, akitaNfd: 0n,\n };\n}\n\n/**\n * Get app IDs for a specific network.\n * For localnet, returns all zeros — callers must merge in IDs from .env.localnet.\n */\nexport function getNetworkAppIds(network: AkitaNetwork): NetworkAppIds {\n return NETWORK_APP_IDS[network] ?? createEmptyAppIds();\n}\n\n/**\n * Mapping from SDK/env var names to NetworkAppIds keys\n */\nexport const ENV_TO_NETWORK_KEY: Record<string, keyof NetworkAppIds> = {\n DAO_APP_ID: 'dao',\n DAO_PROPOSAL_VALIDATOR_APP_ID: 'daoProposalValidator',\n WALLET_APP_ID: 'wallet',\n ESCROW_FACTORY_APP_ID: 'escrowFactory',\n WALLET_FACTORY_APP_ID: 'walletFactory',\n SUBSCRIPTIONS_APP_ID: 'subscriptions',\n STAKING_POOL_FACTORY_APP_ID: 'stakingPoolFactory',\n STAKING_APP_ID: 'staking',\n REWARDS_APP_ID: 'rewards',\n \n // Social System\n SOCIAL_APP_ID: 'social',\n SOCIAL_GRAPH_APP_ID: 'socialGraph',\n SOCIAL_IMPACT_APP_ID: 'socialImpact',\n SOCIAL_MODERATION_APP_ID: 'socialModeration',\n \n // Factories\n AUCTION_FACTORY_APP_ID: 'auctionFactory',\n MARKETPLACE_APP_ID: 'marketplace',\n RAFFLE_FACTORY_APP_ID: 'raffleFactory',\n POLL_FACTORY_APP_ID: 'pollFactory',\n PRIZE_BOX_FACTORY_APP_ID: 'prizeBoxFactory',\n \n // Plugins\n REVENUE_MANAGER_PLUGIN_APP_ID: 'revenueManagerPlugin',\n UPDATE_PLUGIN_APP_ID: 'updatePlugin',\n OPTIN_PLUGIN_APP_ID: 'optinPlugin',\n SELF_OPTIN_PLUGIN_APP_ID: 'selfOptinPlugin',\n ASA_MINT_PLUGIN_APP_ID: 'asaMintPlugin',\n PAY_PLUGIN_APP_ID: 'payPlugin',\n HAYSTACK_ROUTER_PLUGIN_APP_ID: 'haystackRouterPlugin',\n HYPER_SWAP_PLUGIN_APP_ID: 'hyperSwapPlugin',\n SUBSCRIPTIONS_PLUGIN_APP_ID: 'subscriptionsPlugin',\n AUCTION_PLUGIN_APP_ID: 'auctionPlugin',\n DAO_PLUGIN_APP_ID: 'daoPlugin',\n DUAL_STAKE_PLUGIN_APP_ID: 'dualStakePlugin',\n GATE_PLUGIN_APP_ID: 'gatePlugin',\n MARKETPLACE_PLUGIN_APP_ID: 'marketplacePlugin',\n NFD_PLUGIN_APP_ID: 'nfdPlugin',\n PAY_SILO_PLUGIN_APP_ID: 'paySiloPlugin',\n PAY_SILO_FACTORY_PLUGIN_APP_ID: 'paySiloFactoryPlugin',\n POLL_PLUGIN_APP_ID: 'pollPlugin',\n RAFFLE_PLUGIN_APP_ID: 'rafflePlugin',\n REWARDS_PLUGIN_APP_ID: 'rewardsPlugin',\n SOCIAL_PLUGIN_APP_ID: 'socialPlugin',\n STAKING_PLUGIN_APP_ID: 'stakingPlugin',\n STAKING_POOL_PLUGIN_APP_ID: 'stakingPoolPlugin',\n \n // Gate & Other\n GATE_APP_ID: 'gate',\n HYPER_SWAP_APP_ID: 'hyperSwap',\n META_MERKLES_APP_ID: 'metaMerkles',\n \n // Subgates\n AKITA_REFERRER_GATE_APP_ID: 'akitaReferrerGate',\n ASSET_GATE_APP_ID: 'assetGate',\n MERKLE_ADDRESS_GATE_APP_ID: 'merkleAddressGate',\n MERKLE_ASSET_GATE_APP_ID: 'merkleAssetGate',\n NFD_GATE_APP_ID: 'nfdGate',\n NFD_ROOT_GATE_APP_ID: 'nfdRootGate',\n POLL_GATE_APP_ID: 'pollGate',\n SOCIAL_ACTIVITY_GATE_APP_ID: 'socialActivityGate',\n SOCIAL_FOLLOWER_COUNT_GATE_APP_ID: 'socialFollowerCountGate',\n SOCIAL_FOLLOWER_INDEX_GATE_APP_ID: 'socialFollowerIndexGate',\n SOCIAL_IMPACT_GATE_APP_ID: 'socialImpactGate',\n SOCIAL_MODERATOR_GATE_APP_ID: 'socialModeratorGate',\n STAKING_AMOUNT_GATE_APP_ID: 'stakingAmountGate',\n STAKING_POWER_GATE_APP_ID: 'stakingPowerGate',\n SUBSCRIPTION_GATE_APP_ID: 'subscriptionGate',\n SUBSCRIPTION_STREAK_GATE_APP_ID: 'subscriptionStreakGate',\n \n // Assets\n AKTA_ASSET_ID: 'akta',\n BONES_ASSET_ID: 'bones',\n USDC_ASSET_ID: 'usdc',\n\n // External Apps\n VRF_BEACON_APP_ID: 'vrfBeacon',\n NFD_REGISTRY_APP_ID: 'nfdRegistry',\n ASSET_INBOX_APP_ID: 'assetInbox',\n AKITA_NFD_APP_ID: 'akitaNfd',\n};\n\n/**\n * Build a NetworkAppIds object from environment variables.\n * Starts from all zeros and overlays any env vars found in the provided record.\n * Works with any env source — process.env, parsed .env files, Expo extra config, etc.\n *\n * @param env - A record of env var names to string values (e.g., process.env or a parsed .env file)\n * @returns A complete NetworkAppIds with values populated from matching env vars\n *\n * @example\n * // From process.env (e.g., in mock-init after sourcing .env.localnet)\n * const appIds = buildAppIdsFromEnv(process.env)\n *\n * @example\n * // From a parsed .env file\n * const parsed = { DAO_APP_ID: '1006', WALLET_APP_ID: '1106' }\n * const appIds = buildAppIdsFromEnv(parsed)\n */\nexport function buildAppIdsFromEnv(env: Record<string, string | undefined>): NetworkAppIds {\n const appIds = createEmptyAppIds();\n\n for (const [envVar, sdkKey] of Object.entries(ENV_TO_NETWORK_KEY)) {\n const val = env[envVar];\n if (val && val !== '0') {\n appIds[sdkKey] = BigInt(val);\n }\n }\n\n return appIds;\n}\n\n/**\n * Get a specific app ID from the network config\n * @param network - The network\n * @param envVarName - The environment variable name (e.g., 'DAO_APP_ID')\n * @returns The app ID, or undefined if not found or is 0\n */\nexport function getAppIdFromNetwork(network: AkitaNetwork, envVarName: string): bigint | undefined {\n const networkAppIds = getNetworkAppIds(network);\n\n const key = ENV_TO_NETWORK_KEY[envVarName];\n if (!key) return undefined;\n\n const appId = networkAppIds[key];\n return appId > 0n ? appId : undefined;\n}\n","/**\n * Configuration module for Akita SDK\n * Handles network detection and environment-based app ID resolution\n */\n\nimport { AlgorandClient } from \"@algorandfoundation/algokit-utils/types/algorand-client\";\nimport { getAppIdFromNetwork, NetworkAppIds, getNetworkAppIds } from \"./networks\";\n\nexport { NetworkAppIds, getNetworkAppIds, TESTNET_APP_IDS, MAINNET_APP_IDS, NETWORK_APP_IDS, ENV_TO_NETWORK_KEY, buildAppIdsFromEnv, createEmptyAppIds } from \"./networks\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type AkitaNetwork = 'localnet' | 'testnet' | 'mainnet';\n\n/**\n * Environment variable names for each SDK/contract\n */\nexport const ENV_VAR_NAMES = {\n // Network\n NETWORK: 'ALGORAND_NETWORK',\n \n // Core Contracts\n DAO_APP_ID: 'DAO_APP_ID',\n DAO_PROPOSAL_VALIDATOR_APP_ID: 'DAO_PROPOSAL_VALIDATOR_APP_ID',\n WALLET_APP_ID: 'WALLET_APP_ID',\n ESCROW_FACTORY_APP_ID: 'ESCROW_FACTORY_APP_ID',\n WALLET_FACTORY_APP_ID: 'WALLET_FACTORY_APP_ID',\n SUBSCRIPTIONS_APP_ID: 'SUBSCRIPTIONS_APP_ID',\n STAKING_POOL_FACTORY_APP_ID: 'STAKING_POOL_FACTORY_APP_ID',\n STAKING_APP_ID: 'STAKING_APP_ID',\n REWARDS_APP_ID: 'REWARDS_APP_ID',\n \n // Social System\n SOCIAL_APP_ID: 'SOCIAL_APP_ID',\n SOCIAL_GRAPH_APP_ID: 'SOCIAL_GRAPH_APP_ID',\n SOCIAL_IMPACT_APP_ID: 'SOCIAL_IMPACT_APP_ID',\n SOCIAL_MODERATION_APP_ID: 'SOCIAL_MODERATION_APP_ID',\n \n // Factories\n AUCTION_FACTORY_APP_ID: 'AUCTION_FACTORY_APP_ID',\n MARKETPLACE_APP_ID: 'MARKETPLACE_APP_ID',\n RAFFLE_FACTORY_APP_ID: 'RAFFLE_FACTORY_APP_ID',\n POLL_FACTORY_APP_ID: 'POLL_FACTORY_APP_ID',\n PRIZE_BOX_FACTORY_APP_ID: 'PRIZE_BOX_FACTORY_APP_ID',\n \n // Plugins\n REVENUE_MANAGER_PLUGIN_APP_ID: 'REVENUE_MANAGER_PLUGIN_APP_ID',\n UPDATE_PLUGIN_APP_ID: 'UPDATE_PLUGIN_APP_ID',\n OPTIN_PLUGIN_APP_ID: 'OPTIN_PLUGIN_APP_ID',\n ASA_MINT_PLUGIN_APP_ID: 'ASA_MINT_PLUGIN_APP_ID',\n PAY_PLUGIN_APP_ID: 'PAY_PLUGIN_APP_ID',\n HYPER_SWAP_PLUGIN_APP_ID: 'HYPER_SWAP_PLUGIN_APP_ID',\n SUBSCRIPTIONS_PLUGIN_APP_ID: 'SUBSCRIPTIONS_PLUGIN_APP_ID',\n AUCTION_PLUGIN_APP_ID: 'AUCTION_PLUGIN_APP_ID',\n DAO_PLUGIN_APP_ID: 'DAO_PLUGIN_APP_ID',\n DUAL_STAKE_PLUGIN_APP_ID: 'DUAL_STAKE_PLUGIN_APP_ID',\n GATE_PLUGIN_APP_ID: 'GATE_PLUGIN_APP_ID',\n MARKETPLACE_PLUGIN_APP_ID: 'MARKETPLACE_PLUGIN_APP_ID',\n NFD_PLUGIN_APP_ID: 'NFD_PLUGIN_APP_ID',\n PAY_SILO_PLUGIN_APP_ID: 'PAY_SILO_PLUGIN_APP_ID',\n PAY_SILO_FACTORY_PLUGIN_APP_ID: 'PAY_SILO_FACTORY_PLUGIN_APP_ID',\n POLL_PLUGIN_APP_ID: 'POLL_PLUGIN_APP_ID',\n RAFFLE_PLUGIN_APP_ID: 'RAFFLE_PLUGIN_APP_ID',\n REWARDS_PLUGIN_APP_ID: 'REWARDS_PLUGIN_APP_ID',\n SOCIAL_PLUGIN_APP_ID: 'SOCIAL_PLUGIN_APP_ID',\n STAKING_PLUGIN_APP_ID: 'STAKING_PLUGIN_APP_ID',\n STAKING_POOL_PLUGIN_APP_ID: 'STAKING_POOL_PLUGIN_APP_ID',\n \n // Gates & Other\n GATE_APP_ID: 'GATE_APP_ID',\n HYPER_SWAP_APP_ID: 'HYPER_SWAP_APP_ID',\n META_MERKLES_APP_ID: 'META_MERKLES_APP_ID',\n \n // Subgates\n AKITA_REFERRER_GATE_APP_ID: 'AKITA_REFERRER_GATE_APP_ID',\n ASSET_GATE_APP_ID: 'ASSET_GATE_APP_ID',\n MERKLE_ADDRESS_GATE_APP_ID: 'MERKLE_ADDRESS_GATE_APP_ID',\n MERKLE_ASSET_GATE_APP_ID: 'MERKLE_ASSET_GATE_APP_ID',\n NFD_GATE_APP_ID: 'NFD_GATE_APP_ID',\n NFD_ROOT_GATE_APP_ID: 'NFD_ROOT_GATE_APP_ID',\n POLL_GATE_APP_ID: 'POLL_GATE_APP_ID',\n SOCIAL_ACTIVITY_GATE_APP_ID: 'SOCIAL_ACTIVITY_GATE_APP_ID',\n SOCIAL_FOLLOWER_COUNT_GATE_APP_ID: 'SOCIAL_FOLLOWER_COUNT_GATE_APP_ID',\n SOCIAL_FOLLOWER_INDEX_GATE_APP_ID: 'SOCIAL_FOLLOWER_INDEX_GATE_APP_ID',\n SOCIAL_IMPACT_GATE_APP_ID: 'SOCIAL_IMPACT_GATE_APP_ID',\n SOCIAL_MODERATOR_GATE_APP_ID: 'SOCIAL_MODERATOR_GATE_APP_ID',\n STAKING_AMOUNT_GATE_APP_ID: 'STAKING_AMOUNT_GATE_APP_ID',\n STAKING_POWER_GATE_APP_ID: 'STAKING_POWER_GATE_APP_ID',\n SUBSCRIPTION_GATE_APP_ID: 'SUBSCRIPTION_GATE_APP_ID',\n SUBSCRIPTION_STREAK_GATE_APP_ID: 'SUBSCRIPTION_STREAK_GATE_APP_ID',\n\n // Assets\n AKTA_ASSET_ID: 'AKTA_ASSET_ID',\n BONES_ASSET_ID: 'BONES_ASSET_ID',\n \n // External Apps\n VRF_BEACON_APP_ID: 'VRF_BEACON_APP_ID',\n NFD_REGISTRY_APP_ID: 'NFD_REGISTRY_APP_ID',\n ASSET_INBOX_APP_ID: 'ASSET_INBOX_APP_ID',\n AKITA_NFD_APP_ID: 'AKITA_NFD_APP_ID',\n} as const;\n\nexport type EnvVarName = keyof typeof ENV_VAR_NAMES;\n\n/**\n * Full configuration object containing all app IDs\n */\nexport interface AkitaConfig {\n network: AkitaNetwork;\n \n // Core Contracts\n daoAppId?: bigint;\n daoProposalValidatorAppId?: bigint;\n walletAppId?: bigint;\n escrowFactoryAppId?: bigint;\n walletFactoryAppId?: bigint;\n subscriptionsAppId?: bigint;\n stakingPoolFactoryAppId?: bigint;\n stakingAppId?: bigint;\n rewardsAppId?: bigint;\n \n // Social System\n socialAppId?: bigint;\n socialGraphAppId?: bigint;\n socialImpactAppId?: bigint;\n socialModerationAppId?: bigint;\n \n // Factories\n auctionFactoryAppId?: bigint;\n marketplaceAppId?: bigint;\n raffleFactoryAppId?: bigint;\n pollFactoryAppId?: bigint;\n prizeBoxFactoryAppId?: bigint;\n \n // Gates & Other\n gateAppId?: bigint;\n hyperSwapAppId?: bigint;\n metaMerklesAppId?: bigint;\n \n // Assets\n aktaAssetId?: bigint;\n bonesAssetId?: bigint;\n}\n\n// ============================================================================\n// Environment Variable Helpers\n// ============================================================================\n\n/**\n * Gets the current network from environment variables\n * Throws an error if no valid network is configured\n * \n * Checks multiple env var names for compatibility:\n * - ALGORAND_NETWORK (SDK standard)\n * - ALGOD_NETWORK (common alternative)\n * - NEXT_PUBLIC_* variants (for Next.js client-side)\n */\nexport function getNetworkFromEnv(): AkitaNetwork {\n // Check multiple env var names for compatibility\n const envVarNames = [\n ENV_VAR_NAMES.NETWORK, // ALGORAND_NETWORK\n 'ALGOD_NETWORK',\n 'NEXT_PUBLIC_ALGORAND_NETWORK',\n 'NEXT_PUBLIC_ALGOD_NETWORK',\n ];\n \n for (const name of envVarNames) {\n const network = getEnvVar(name);\n if (network === 'testnet' || network === 'mainnet' || network === 'localnet') {\n return network;\n }\n }\n \n throw new Error(\n `No valid network configured. Set one of these environment variables to 'localnet', 'testnet', or 'mainnet': ${envVarNames.join(', ')}`\n );\n}\n\n/**\n * Gets an environment variable value\n * Works in both Node.js and browser environments\n */\nexport function getEnvVar(name: string): string | undefined {\n // Node.js environment\n if (typeof process !== 'undefined' && process.env) {\n return process.env[name];\n }\n // Browser environment - check for window.__AKITA_ENV__\n const g = globalThis as any;\n if (typeof g.window !== 'undefined' && g.window.__AKITA_ENV__) {\n return g.window.__AKITA_ENV__[name];\n }\n return undefined;\n}\n\n/**\n * Gets an app ID from environment variables\n * Returns undefined if the env var is not set or is not a valid bigint\n */\nexport function getAppIdFromEnv(envVarName: string): bigint | undefined {\n const value = getEnvVar(envVarName);\n if (!value) return undefined;\n \n try {\n const parsed = BigInt(value);\n return parsed > 0n ? parsed : undefined;\n } catch {\n return undefined;\n }\n}\n\n/**\n * Gets the full configuration from environment variables\n */\nexport function getConfigFromEnv(): AkitaConfig {\n return {\n network: getNetworkFromEnv(),\n \n // Core Contracts\n daoAppId: getAppIdFromEnv(ENV_VAR_NAMES.DAO_APP_ID),\n daoProposalValidatorAppId: getAppIdFromEnv(ENV_VAR_NAMES.DAO_PROPOSAL_VALIDATOR_APP_ID),\n walletAppId: getAppIdFromEnv(ENV_VAR_NAMES.WALLET_APP_ID),\n escrowFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.ESCROW_FACTORY_APP_ID),\n walletFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.WALLET_FACTORY_APP_ID),\n subscriptionsAppId: getAppIdFromEnv(ENV_VAR_NAMES.SUBSCRIPTIONS_APP_ID),\n stakingPoolFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.STAKING_POOL_FACTORY_APP_ID),\n stakingAppId: getAppIdFromEnv(ENV_VAR_NAMES.STAKING_APP_ID),\n rewardsAppId: getAppIdFromEnv(ENV_VAR_NAMES.REWARDS_APP_ID),\n \n // Social System\n socialAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_APP_ID),\n socialGraphAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_GRAPH_APP_ID),\n socialImpactAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_IMPACT_APP_ID),\n socialModerationAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_MODERATION_APP_ID),\n \n // Factories\n auctionFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.AUCTION_FACTORY_APP_ID),\n marketplaceAppId: getAppIdFromEnv(ENV_VAR_NAMES.MARKETPLACE_APP_ID),\n raffleFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.RAFFLE_FACTORY_APP_ID),\n pollFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.POLL_FACTORY_APP_ID),\n prizeBoxFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.PRIZE_BOX_FACTORY_APP_ID),\n \n // Gates & Other\n gateAppId: getAppIdFromEnv(ENV_VAR_NAMES.GATE_APP_ID),\n hyperSwapAppId: getAppIdFromEnv(ENV_VAR_NAMES.HYPER_SWAP_APP_ID),\n metaMerklesAppId: getAppIdFromEnv(ENV_VAR_NAMES.META_MERKLES_APP_ID),\n \n // Assets\n aktaAssetId: getAppIdFromEnv(ENV_VAR_NAMES.AKTA_ASSET_ID),\n bonesAssetId: getAppIdFromEnv(ENV_VAR_NAMES.BONES_ASSET_ID),\n };\n}\n\n// ============================================================================\n// Network Detection from AlgorandClient\n// ============================================================================\n\n/**\n * Known algod URLs for network detection\n */\nconst TESTNET_URL_PATTERNS = [\n 'testnet',\n 'testnet.algonode.cloud',\n 'testnet-api.algonode.cloud',\n 'testnet-algod.algonode.cloud',\n];\n\nconst MAINNET_URL_PATTERNS = [\n 'mainnet',\n 'mainnet.algonode.cloud', \n 'mainnet-api.algonode.cloud',\n 'mainnet-algod.algonode.cloud',\n 'algonode.io', // mainnet uses .io\n];\n\nconst LOCALNET_URL_PATTERNS = [\n 'localhost',\n '127.0.0.1',\n '0.0.0.0',\n ':4001', // Default algod port\n];\n\n/**\n * Attempts to detect the network from an AlgorandClient instance\n * Priority: explicitly set network > environment variable > URL detection\n * Throws if network cannot be determined\n */\nexport function detectNetworkFromClient(algorand: AlgorandClient): AkitaNetwork {\n // First check if network was explicitly set via setCurrentNetwork()\n // This is the recommended approach for Next.js apps where env vars are statically inlined\n const explicitNetwork = getCurrentNetwork();\n if (explicitNetwork !== undefined) {\n return explicitNetwork;\n }\n \n // Then check environment variable\n try {\n return getNetworkFromEnv();\n } catch {\n // No env var set, try URL detection\n }\n \n // Try to detect from client URL\n try {\n // Try multiple ways to access the URL\n let url = '';\n \n // accessing internal property\n const algodClient = algorand.client?.algod;\n if (algodClient) {\n // @ts-ignore - accessing internal properties\n url = algodClient.c?.baseURL || algodClient.bc?.baseURL || '';\n }\n \n if (typeof url === 'string' && url.length > 0) {\n const lowerUrl = url.toLowerCase();\n \n // Check for mainnet first (more specific)\n for (const pattern of MAINNET_URL_PATTERNS) {\n if (lowerUrl.includes(pattern)) {\n return 'mainnet';\n }\n }\n \n // Check for testnet\n for (const pattern of TESTNET_URL_PATTERNS) {\n if (lowerUrl.includes(pattern)) {\n return 'testnet';\n }\n }\n \n // Check for localnet\n for (const pattern of LOCALNET_URL_PATTERNS) {\n if (lowerUrl.includes(pattern)) {\n return 'localnet';\n }\n }\n }\n } catch {\n // Ignore URL detection errors\n }\n \n // Neither env var nor URL detection worked\n throw new Error(\n 'Could not detect network. Set ALGORAND_NETWORK, ALGOD_NETWORK, or NEXT_PUBLIC_ALGOD_NETWORK ' +\n 'environment variable, or use an AlgorandClient configured with a recognizable network URL.'\n );\n}\n\n// Store the current network context (set when SDK is initialized with an AlgorandClient)\nlet _currentNetwork: AkitaNetwork | undefined = undefined;\n\n/**\n * Sets the current network context\n * Call this before initializing SDKs to avoid auto-detection\n */\nexport function setCurrentNetwork(network: AkitaNetwork): void {\n _currentNetwork = network;\n}\n\n/**\n * Gets the current network context\n * Returns undefined if not explicitly set\n */\nexport function getCurrentNetwork(): AkitaNetwork | undefined {\n return _currentNetwork;\n}\n\n// ============================================================================\n// SDK Type to Env Var Mapping\n// ============================================================================\n\n/**\n * Mapping of SDK class names to their corresponding environment variable names\n */\nexport const SDK_TO_ENV_VAR: Record<string, string> = {\n // Core SDKs\n AkitaDaoSDK: ENV_VAR_NAMES.DAO_APP_ID,\n WalletSDK: ENV_VAR_NAMES.WALLET_APP_ID,\n EscrowFactorySDK: ENV_VAR_NAMES.ESCROW_FACTORY_APP_ID,\n WalletFactorySDK: ENV_VAR_NAMES.WALLET_FACTORY_APP_ID,\n SubscriptionsSDK: ENV_VAR_NAMES.SUBSCRIPTIONS_APP_ID,\n StakingPoolFactorySDK: ENV_VAR_NAMES.STAKING_POOL_FACTORY_APP_ID,\n StakingSDK: ENV_VAR_NAMES.STAKING_APP_ID,\n RewardsSDK: ENV_VAR_NAMES.REWARDS_APP_ID,\n \n // Factories\n AuctionFactorySDK: ENV_VAR_NAMES.AUCTION_FACTORY_APP_ID,\n MarketplaceSDK: ENV_VAR_NAMES.MARKETPLACE_APP_ID,\n RaffleFactorySDK: ENV_VAR_NAMES.RAFFLE_FACTORY_APP_ID,\n PollFactorySDK: ENV_VAR_NAMES.POLL_FACTORY_APP_ID,\n PrizeBoxFactorySDK: ENV_VAR_NAMES.PRIZE_BOX_FACTORY_APP_ID,\n \n // Gates & Other\n GateSDK: ENV_VAR_NAMES.GATE_APP_ID,\n HyperSwapSDK: ENV_VAR_NAMES.HYPER_SWAP_APP_ID,\n MetaMerklesSDK: ENV_VAR_NAMES.META_MERKLES_APP_ID,\n};\n\n/**\n * Gets the app ID for an SDK from environment variables\n * @param sdkName - The name of the SDK class (e.g., 'AkitaDaoSDK')\n * @returns The app ID from environment, or undefined if not found\n */\nexport function getAppIdForSDK(sdkName: string): bigint | undefined {\n const envVarName = SDK_TO_ENV_VAR[sdkName];\n if (!envVarName) return undefined;\n return getAppIdFromEnv(envVarName);\n}\n\n// ============================================================================\n// Configuration Helper for SDKs\n// ============================================================================\n\n/**\n * Resolves the app ID for an SDK using the following priority:\n * 1. Explicitly provided app ID\n * 2. Environment variable\n * 3. Baked-in network-specific app ID (for testnet/mainnet)\n * \n * @param providedAppId - The app ID provided directly to the constructor\n * @param envVarName - The environment variable name to check\n * @param sdkName - Name of the SDK (for error messages)\n * @param network - Optional network override (defaults to current network)\n * @returns The resolved app ID\n * @throws Error if no app ID can be resolved\n */\nexport function resolveAppId(\n providedAppId: bigint | undefined,\n envVarName: string,\n sdkName: string = 'SDK',\n network?: AkitaNetwork\n): bigint {\n // 1. Use provided app ID if available\n if (providedAppId !== undefined && providedAppId > 0n) {\n return providedAppId;\n }\n \n // 2. Try to get from environment variable\n const envAppId = getAppIdFromEnv(envVarName);\n if (envAppId !== undefined) {\n return envAppId;\n }\n \n // 3. Try to get from baked-in network config\n const targetNetwork = network ?? getCurrentNetwork();\n if (targetNetwork !== undefined) {\n const networkAppId = getAppIdFromNetwork(targetNetwork, envVarName);\n if (networkAppId !== undefined) {\n return networkAppId;\n }\n }\n \n // No app ID found - provide helpful error\n let networkHint = '';\n if (targetNetwork === undefined) {\n networkHint = ' Network could not be determined - call setCurrentNetwork() first.';\n } else if (targetNetwork === 'localnet') {\n networkHint = ' For localnet, you must provide app IDs explicitly or set environment variables.';\n } else {\n networkHint = ` The baked-in ${targetNetwork} app IDs may not be configured yet.`;\n }\n \n throw new Error(\n `No app ID provided for ${sdkName}. ` +\n `Either pass appId in constructor params, set ${envVarName} environment variable, ` +\n `or ensure network-specific app IDs are configured.${networkHint}`\n );\n}\n\n/**\n * Resolves app ID with network detection from AlgorandClient\n * This is the preferred method when you have an AlgorandClient instance\n */\nexport function resolveAppIdWithClient(\n algorand: AlgorandClient,\n providedAppId: bigint | undefined,\n envVarName: string,\n sdkName: string = 'SDK'\n): bigint {\n const network = detectNetworkFromClient(algorand);\n setCurrentNetwork(network);\n return resolveAppId(providedAppId, envVarName, sdkName, network);\n}\n\n","import { SendParams } from \"@algorandfoundation/algokit-utils/types/transaction\";\nimport { AlgoAmount } from \"@algorandfoundation/algokit-utils/types/amount\";\nimport { makeEmptyTransactionSigner } from \"@algorandfoundation/algokit-utils/transact\";\nimport { microAlgo } from \"@algorandfoundation/algokit-utils\";\n\nexport const DEFAULT_READER: string = \"Y76M3MSY6DKBRHBL7C3NNDXGS5IIMQVQVUAB6MP4XEMMGVF2QWNPL226CA\" // \"Y76M3MSY6DKBRHBL7C3NNDXGS5IIMQVQVUAB6MP4XEMMGVF2QWNPL226CA\"\n\nexport const emptySigner = makeEmptyTransactionSigner();\n\nexport const SIMULATE_PARAMS = {\n allowMoreLogging: true,\n allowUnnamedResources: true,\n extraOpcodeBudget: 130013,\n fixSigners: true,\n allowEmptySignatures: true,\n};\n\nexport const DEFAULT_SEND_PARAMS: SendParams & { maxFee: AlgoAmount } = {\n /** Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to `Config.populateAppCallResources`. */\n populateAppCallResources: true,\n /** Whether to use simulate to automatically calculate required app call inner transaction fees and cover them in the parent app call transaction fee */\n coverAppCallInnerTransactionFees: true,\n /** the maximum fee to pay */\n maxFee: microAlgo(257_000n)\n}\n\nexport const MAX_UINT64 = BigInt(\"18446744073709551615\"); // 2^64 - 1, the maximum value for a 64-bit unsigned integer"],"mappings":";AA0GO,IAAM,kBAAiC;AAAA;AAAA,EAE5C,KAAK;AAAA,EACL,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AAAA;AAAA,EAGT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,cAAc;AAAA,EACd,kBAAkB;AAAA;AAAA,EAGlB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,aAAa;AAAA,EACb,iBAAiB;AAAA;AAAA,EAGjB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AAAA;AAAA,EAGnB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,aAAa;AAAA;AAAA,EAGb,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA;AAAA,EAGxB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA;AAAA,EAGN,WAAW;AAAA,EACX,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AACZ;AAOO,IAAM,kBAAiC;AAAA;AAAA,EAE5C,KAAK;AAAA,EACL,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AAAA;AAAA,EAGT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,cAAc;AAAA,EACd,kBAAkB;AAAA;AAAA,EAGlB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,aAAa;AAAA,EACb,iBAAiB;AAAA;AAAA,EAGjB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AAAA;AAAA,EAGnB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,aAAa;AAAA;AAAA,EAGb,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA;AAAA,EAGxB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA;AAAA,EAGN,WAAW;AAAA,EACX,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AACZ;AAOO,IAAM,kBAAgE;AAAA,EAC3E,SAAS;AAAA,EACT,SAAS;AACX;AAMO,SAAS,oBAAmC;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IAAI,sBAAsB;AAAA,IAAI,QAAQ;AAAA,IAAI,eAAe;AAAA,IAAI,eAAe;AAAA,IACjF,eAAe;AAAA,IAAI,oBAAoB;AAAA,IAAI,SAAS;AAAA,IAAI,SAAS;AAAA,IACjE,QAAQ;AAAA,IAAI,aAAa;AAAA,IAAI,cAAc;AAAA,IAAI,kBAAkB;AAAA,IACjE,gBAAgB;AAAA,IAAI,aAAa;AAAA,IAAI,eAAe;AAAA,IAAI,aAAa;AAAA,IAAI,iBAAiB;AAAA,IAC1F,sBAAsB;AAAA,IAAI,cAAc;AAAA,IAAI,aAAa;AAAA,IAAI,iBAAiB;AAAA,IAC9E,eAAe;AAAA,IAAI,WAAW;AAAA,IAAI,sBAAsB;AAAA,IAAI,iBAAiB;AAAA,IAAI,qBAAqB;AAAA,IACtG,eAAe;AAAA,IAAI,WAAW;AAAA,IAAI,iBAAiB;AAAA,IAAI,YAAY;AAAA,IACnE,mBAAmB;AAAA,IAAI,WAAW;AAAA,IAAI,eAAe;AAAA,IAAI,sBAAsB;AAAA,IAC/E,YAAY;AAAA,IAAI,cAAc;AAAA,IAAI,eAAe;AAAA,IAAI,cAAc;AAAA,IACnE,eAAe;AAAA,IAAI,mBAAmB;AAAA,IACtC,MAAM;AAAA,IAAI,WAAW;AAAA,IAAI,aAAa;AAAA,IACtC,mBAAmB;AAAA,IAAI,WAAW;AAAA,IAAI,mBAAmB;AAAA,IAAI,iBAAiB;AAAA,IAC9E,SAAS;AAAA,IAAI,aAAa;AAAA,IAAI,UAAU;AAAA,IAAI,oBAAoB;AAAA,IAChE,yBAAyB;AAAA,IAAI,yBAAyB;AAAA,IAAI,kBAAkB;AAAA,IAC5E,qBAAqB;AAAA,IAAI,mBAAmB;AAAA,IAAI,kBAAkB;AAAA,IAClE,kBAAkB;AAAA,IAAI,wBAAwB;AAAA,IAC9C,MAAM;AAAA,IAAI,OAAO;AAAA,IAAI,MAAM;AAAA,IAC3B,WAAW;AAAA,IAAI,aAAa;AAAA,IAAI,YAAY;AAAA,IAAI,UAAU;AAAA,EAC5D;AACF;AAMO,SAAS,iBAAiB,SAAsC;AACrE,SAAO,gBAAgB,OAAO,KAAK,kBAAkB;AACvD;AAKO,IAAM,qBAA0D;AAAA,EACrE,YAAY;AAAA,EACZ,+BAA+B;AAAA,EAC/B,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAGhB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA;AAAA,EAG1B,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,0BAA0B;AAAA;AAAA,EAG1B,+BAA+B;AAAA,EAC/B,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,6BAA6B;AAAA,EAC7B,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,oBAAoB;AAAA,EACpB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,gCAAgC;AAAA,EAChC,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA;AAAA,EAG5B,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,qBAAqB;AAAA;AAAA,EAGrB,4BAA4B;AAAA,EAC5B,mBAAmB;AAAA,EACnB,4BAA4B;AAAA,EAC5B,0BAA0B;AAAA,EAC1B,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,mCAAmC;AAAA,EACnC,mCAAmC;AAAA,EACnC,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,iCAAiC;AAAA;AAAA,EAGjC,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA;AAAA,EAGf,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAmBO,SAAS,mBAAmB,KAAwD;AACzF,QAAM,SAAS,kBAAkB;AAEjC,aAAW,CAAC,QAAQ,MAAM,KAAK,OAAO,QAAQ,kBAAkB,GAAG;AACjE,UAAM,MAAM,IAAI,MAAM;AACtB,QAAI,OAAO,QAAQ,KAAK;AACtB,aAAO,MAAM,IAAI,OAAO,GAAG;AAAA,IAC7B;AAAA,EACF;AAEA,SAAO;AACT;AAQO,SAAS,oBAAoB,SAAuB,YAAwC;AACjG,QAAM,gBAAgB,iBAAiB,OAAO;AAE9C,QAAM,MAAM,mBAAmB,UAAU;AACzC,MAAI,CAAC,IAAK,QAAO;AAEjB,QAAM,QAAQ,cAAc,GAAG;AAC/B,SAAO,QAAQ,KAAK,QAAQ;AAC9B;;;ACtbO,IAAM,gBAAgB;AAAA;AAAA,EAE3B,SAAS;AAAA;AAAA,EAGT,YAAY;AAAA,EACZ,+BAA+B;AAAA,EAC/B,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAGhB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA;AAAA,EAG1B,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,0BAA0B;AAAA;AAAA,EAG1B,+BAA+B;AAAA,EAC/B,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,6BAA6B;AAAA,EAC7B,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,oBAAoB;AAAA,EACpB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,gCAAgC;AAAA,EAChC,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA;AAAA,EAG5B,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,qBAAqB;AAAA;AAAA,EAGrB,4BAA4B;AAAA,EAC5B,mBAAmB;AAAA,EACnB,4BAA4B;AAAA,EAC5B,0BAA0B;AAAA,EAC1B,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,mCAAmC;AAAA,EACnC,mCAAmC;AAAA,EACnC,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,iCAAiC;AAAA;AAAA,EAGjC,eAAe;AAAA,EACf,gBAAgB;AAAA;AAAA,EAGhB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAyDO,SAAS,oBAAkC;AAEhD,QAAM,cAAc;AAAA,IAClB,cAAc;AAAA;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,aAAW,QAAQ,aAAa;AAC9B,UAAM,UAAU,UAAU,IAAI;AAC9B,QAAI,YAAY,aAAa,YAAY,aAAa,YAAY,YAAY;AAC5E,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,IAAI;AAAA,IACR,+GAA+G,YAAY,KAAK,IAAI,CAAC;AAAA,EACvI;AACF;AAMO,SAAS,UAAU,MAAkC;AAE1D,MAAI,OAAO,YAAY,eAAe,QAAQ,KAAK;AACjD,WAAO,QAAQ,IAAI,IAAI;AAAA,EACzB;AAEA,QAAM,IAAI;AACV,MAAI,OAAO,EAAE,WAAW,eAAe,EAAE,OAAO,eAAe;AAC7D,WAAO,EAAE,OAAO,cAAc,IAAI;AAAA,EACpC;AACA,SAAO;AACT;AAMO,SAAS,gBAAgB,YAAwC;AACtE,QAAM,QAAQ,UAAU,UAAU;AAClC,MAAI,CAAC,MAAO,QAAO;AAEnB,MAAI;AACF,UAAM,SAAS,OAAO,KAAK;AAC3B,WAAO,SAAS,KAAK,SAAS;AAAA,EAChC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAKO,SAAS,mBAAgC;AAC9C,SAAO;AAAA,IACL,SAAS,kBAAkB;AAAA;AAAA,IAG3B,UAAU,gBAAgB,cAAc,UAAU;AAAA,IAClD,2BAA2B,gBAAgB,cAAc,6BAA6B;AAAA,IACtF,aAAa,gBAAgB,cAAc,aAAa;AAAA,IACxD,oBAAoB,gBAAgB,cAAc,qBAAqB;AAAA,IACvE,oBAAoB,gBAAgB,cAAc,qBAAqB;AAAA,IACvE,oBAAoB,gBAAgB,cAAc,oBAAoB;AAAA,IACtE,yBAAyB,gBAAgB,cAAc,2BAA2B;AAAA,IAClF,cAAc,gBAAgB,cAAc,cAAc;AAAA,IAC1D,cAAc,gBAAgB,cAAc,cAAc;AAAA;AAAA,IAG1D,aAAa,gBAAgB,cAAc,aAAa;AAAA,IACxD,kBAAkB,gBAAgB,cAAc,mBAAmB;AAAA,IACnE,mBAAmB,gBAAgB,cAAc,oBAAoB;AAAA,IACrE,uBAAuB,gBAAgB,cAAc,wBAAwB;AAAA;AAAA,IAG7E,qBAAqB,gBAAgB,cAAc,sBAAsB;AAAA,IACzE,kBAAkB,gBAAgB,cAAc,kBAAkB;AAAA,IAClE,oBAAoB,gBAAgB,cAAc,qBAAqB;AAAA,IACvE,kBAAkB,gBAAgB,cAAc,mBAAmB;AAAA,IACnE,sBAAsB,gBAAgB,cAAc,wBAAwB;AAAA;AAAA,IAG5E,WAAW,gBAAgB,cAAc,WAAW;AAAA,IACpD,gBAAgB,gBAAgB,cAAc,iBAAiB;AAAA,IAC/D,kBAAkB,gBAAgB,cAAc,mBAAmB;AAAA;AAAA,IAGnE,aAAa,gBAAgB,cAAc,aAAa;AAAA,IACxD,cAAc,gBAAgB,cAAc,cAAc;AAAA,EAC5D;AACF;AASA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF;AAEA,IAAM,wBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF;AAOO,SAAS,wBAAwB,UAAwC;AAjShF;AAoSE,QAAM,kBAAkB,kBAAkB;AAC1C,MAAI,oBAAoB,QAAW;AACjC,WAAO;AAAA,EACT;AAGA,MAAI;AACF,WAAO,kBAAkB;AAAA,EAC3B,QAAQ;AAAA,EAER;AAGA,MAAI;AAEF,QAAI,MAAM;AAGV,UAAM,eAAc,cAAS,WAAT,mBAAiB;AACrC,QAAI,aAAa;AAEf,cAAM,iBAAY,MAAZ,mBAAe,cAAW,iBAAY,OAAZ,mBAAgB,YAAW;AAAA,IAC7D;AAEA,QAAI,OAAO,QAAQ,YAAY,IAAI,SAAS,GAAG;AAC7C,YAAM,WAAW,IAAI,YAAY;AAGjC,iBAAW,WAAW,sBAAsB;AAC1C,YAAI,SAAS,SAAS,OAAO,GAAG;AAC9B,iBAAO;AAAA,QACT;AAAA,MACF;AAGA,iBAAW,WAAW,sBAAsB;AAC1C,YAAI,SAAS,SAAS,OAAO,GAAG;AAC9B,iBAAO;AAAA,QACT;AAAA,MACF;AAGA,iBAAW,WAAW,uBAAuB;AAC3C,YAAI,SAAS,SAAS,OAAO,GAAG;AAC9B,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAER;AAGA,QAAM,IAAI;AAAA,IACR;AAAA,EAEF;AACF;AAGA,IAAI,kBAA4C;AAMzC,SAAS,kBAAkB,SAA6B;AAC7D,oBAAkB;AACpB;AAMO,SAAS,oBAA8C;AAC5D,SAAO;AACT;AASO,IAAM,iBAAyC;AAAA;AAAA,EAEpD,aAAa,cAAc;AAAA,EAC3B,WAAW,cAAc;AAAA,EACzB,kBAAkB,cAAc;AAAA,EAChC,kBAAkB,cAAc;AAAA,EAChC,kBAAkB,cAAc;AAAA,EAChC,uBAAuB,cAAc;AAAA,EACrC,YAAY,cAAc;AAAA,EAC1B,YAAY,cAAc;AAAA;AAAA,EAG1B,mBAAmB,cAAc;AAAA,EACjC,gBAAgB,cAAc;AAAA,EAC9B,kBAAkB,cAAc;AAAA,EAChC,gBAAgB,cAAc;AAAA,EAC9B,oBAAoB,cAAc;AAAA;AAAA,EAGlC,SAAS,cAAc;AAAA,EACvB,cAAc,cAAc;AAAA,EAC5B,gBAAgB,cAAc;AAChC;AAOO,SAAS,eAAe,SAAqC;AAClE,QAAM,aAAa,eAAe,OAAO;AACzC,MAAI,CAAC,WAAY,QAAO;AACxB,SAAO,gBAAgB,UAAU;AACnC;AAmBO,SAAS,aACd,eACA,YACA,UAAkB,OAClB,SACQ;AAER,MAAI,kBAAkB,UAAa,gBAAgB,IAAI;AACrD,WAAO;AAAA,EACT;AAGA,QAAM,WAAW,gBAAgB,UAAU;AAC3C,MAAI,aAAa,QAAW;AAC1B,WAAO;AAAA,EACT;AAGA,QAAM,gBAAgB,WAAW,kBAAkB;AACnD,MAAI,kBAAkB,QAAW;AAC/B,UAAM,eAAe,oBAAoB,eAAe,UAAU;AAClE,QAAI,iBAAiB,QAAW;AAC9B,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI,cAAc;AAClB,MAAI,kBAAkB,QAAW;AAC/B,kBAAc;AAAA,EAChB,WAAW,kBAAkB,YAAY;AACvC,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,iBAAiB,aAAa;AAAA,EAC9C;AAEA,QAAM,IAAI;AAAA,IACR,0BAA0B,OAAO,kDACe,UAAU,4EACL,WAAW;AAAA,EAClE;AACF;AAMO,SAAS,uBACd,UACA,eACA,YACA,UAAkB,OACV;AACR,QAAM,UAAU,wBAAwB,QAAQ;AAChD,oBAAkB,OAAO;AACzB,SAAO,aAAa,eAAe,YAAY,SAAS,OAAO;AACjE;;;ACneA,SAAS,kCAAkC;AAC3C,SAAS,iBAAiB;AAEnB,IAAM,iBAAyB;AAE/B,IAAM,cAAc,2BAA2B;AAU/C,IAAM,sBAA2D;AAAA;AAAA,EAEtE,0BAA0B;AAAA;AAAA,EAE1B,kCAAkC;AAAA;AAAA,EAElC,QAAQ,UAAU,OAAQ;AAC5B;AAEO,IAAM,aAAa,OAAO,sBAAsB;","names":[]}
1
+ {"version":3,"sources":["../src/networks.ts","../src/config.ts","../src/constants.ts"],"sourcesContent":["/**\n * Network-specific app ID configuration\n * \n * This file contains the baked-in app IDs for each network.\n * These are used when the SDK auto-detects the network from the AlgorandClient.\n * \n * To update after a deployment:\n * 1. Run deploy-universe.ts for the target network\n * 2. Copy the app IDs from the generated .env file to this file\n */\n\nimport { AkitaNetwork } from './config';\n\n/**\n * App IDs for a specific network\n */\nexport interface NetworkAppIds {\n // Core Contracts\n dao: bigint;\n daoProposalValidator: bigint;\n wallet: bigint;\n escrowFactory: bigint;\n walletFactory: bigint;\n subscriptions: bigint;\n stakingPoolFactory: bigint;\n staking: bigint;\n rewards: bigint;\n \n // Social System\n social: bigint;\n socialGraph: bigint;\n socialImpact: bigint;\n socialModeration: bigint;\n \n // Factories\n auctionFactory: bigint;\n marketplace: bigint;\n raffleFactory: bigint;\n pollFactory: bigint;\n prizeBoxFactory: bigint;\n \n // Plugins\n revenueManagerPlugin: bigint;\n updatePlugin: bigint;\n optinPlugin: bigint;\n selfOptinPlugin: bigint;\n asaMintPlugin: bigint;\n payPlugin: bigint;\n haystackRouterPlugin: bigint;\n hyperSwapPlugin: bigint;\n subscriptionsPlugin: bigint;\n auctionPlugin: bigint;\n daoPlugin: bigint;\n dualStakePlugin: bigint;\n gatePlugin: bigint;\n marketplacePlugin: bigint;\n nfdPlugin: bigint;\n paySiloPlugin: bigint;\n paySiloFactoryPlugin: bigint;\n pollPlugin: bigint;\n rafflePlugin: bigint;\n rewardsPlugin: bigint;\n socialPlugin: bigint;\n stakingPlugin: bigint;\n stakingPoolPlugin: bigint;\n \n // Gate & Other\n gate: bigint;\n hyperSwap: bigint;\n metaMerkles: bigint;\n \n // Subgates\n akitaReferrerGate: bigint;\n assetGate: bigint;\n merkleAddressGate: bigint;\n merkleAssetGate: bigint;\n nfdGate: bigint;\n nfdRootGate: bigint;\n pollGate: bigint;\n socialActivityGate: bigint;\n socialFollowerCountGate: bigint;\n socialFollowerIndexGate: bigint;\n socialImpactGate: bigint;\n socialModeratorGate: bigint;\n stakingAmountGate: bigint;\n stakingPowerGate: bigint;\n subscriptionGate: bigint;\n subscriptionStreakGate: bigint;\n \n // Assets\n akta: bigint;\n bones: bigint;\n usdc: bigint;\n \n // External Apps (for reference)\n vrfBeacon: bigint;\n nfdRegistry: bigint;\n assetInbox: bigint;\n akitaNfd: bigint;\n}\n\n/**\n * Testnet app IDs\n * \n * Last updated: 2026-05-23T07:07:40.259Z\n */\nexport const TESTNET_APP_IDS: NetworkAppIds = {\n // Core Contracts\n dao: 763128236n,\n daoProposalValidator: 763128235n,\n wallet: 763128598n,\n escrowFactory: 763128227n,\n walletFactory: 763128255n,\n subscriptions: 763128278n,\n stakingPoolFactory: 763128285n,\n staking: 763128307n,\n rewards: 763128244n,\n \n // Social System\n social: 763128333n,\n socialGraph: 763128326n,\n socialImpact: 763128316n,\n socialModeration: 763128334n,\n \n // Factories\n auctionFactory: 763128353n,\n marketplace: 763128381n,\n raffleFactory: 763128404n,\n pollFactory: 763128430n,\n prizeBoxFactory: 763128434n,\n \n // Plugins\n revenueManagerPlugin: 763128627n,\n updatePlugin: 763128671n,\n optinPlugin: 763128795n,\n selfOptinPlugin: 763128796n,\n asaMintPlugin: 763128820n,\n payPlugin: 763128821n,\n haystackRouterPlugin: 763128851n,\n hyperSwapPlugin: 763128858n,\n subscriptionsPlugin: 763128859n,\n auctionPlugin: 763128866n,\n daoPlugin: 763128876n,\n dualStakePlugin: 763128877n,\n gatePlugin: 763128884n,\n marketplacePlugin: 763128885n,\n nfdPlugin: 763128895n,\n paySiloPlugin: 763128904n,\n paySiloFactoryPlugin: 763128905n,\n pollPlugin: 763128906n,\n rafflePlugin: 763128922n,\n rewardsPlugin: 763128923n,\n socialPlugin: 763128930n,\n stakingPlugin: 763128931n,\n stakingPoolPlugin: 763128941n,\n \n // Gate & Other\n gate: 763128492n,\n hyperSwap: 763128499n,\n metaMerkles: 763128435n,\n \n // Subgates\n akitaReferrerGate: 763128503n,\n assetGate: 763128508n,\n merkleAddressGate: 763128509n,\n merkleAssetGate: 763128506n,\n nfdGate: 763128504n,\n nfdRootGate: 763128511n,\n pollGate: 763128514n,\n socialActivityGate: 763128517n,\n socialFollowerCountGate: 763128518n,\n socialFollowerIndexGate: 763128516n,\n socialImpactGate: 763128505n,\n socialModeratorGate: 763128512n,\n stakingAmountGate: 763128513n,\n stakingPowerGate: 763128510n,\n subscriptionGate: 763128507n,\n subscriptionStreakGate: 763128515n,\n \n // Assets\n akta: 752884771n,\n bones: 763129960n,\n usdc: 10458941n,\n \n // External Apps\n vrfBeacon: 600011887n,\n nfdRegistry: 84366825n,\n assetInbox: 643020148n,\n akitaNfd: 0n,\n};\n\n/**\n * Mainnet app IDs\n * \n * Last updated: 2026-05-25T23:08:55Z\n */\nexport const MAINNET_APP_IDS: NetworkAppIds = {\n // Core Contracts\n dao: 3569556034n,\n daoProposalValidator: 3569555925n,\n wallet: 3569559153n,\n escrowFactory: 3569555755n,\n walletFactory: 3569556257n,\n subscriptions: 3569556497n,\n stakingPoolFactory: 3569556570n,\n staking: 3569556776n,\n rewards: 3569556095n,\n \n // Social System\n social: 3569557130n,\n socialGraph: 3569557033n,\n socialImpact: 3569556973n,\n socialModeration: 3569557176n,\n \n // Factories\n auctionFactory: 3569557408n,\n marketplace: 3569557584n,\n raffleFactory: 3569557743n,\n pollFactory: 3569557932n,\n prizeBoxFactory: 3569557972n,\n \n // Plugins\n revenueManagerPlugin: 3569559335n,\n updatePlugin: 3569559689n,\n optinPlugin: 3569560490n,\n selfOptinPlugin: 3569560545n,\n asaMintPlugin: 3569560791n,\n payPlugin: 3569560828n,\n haystackRouterPlugin: 3579545659n,\n hyperSwapPlugin: 3569561068n,\n subscriptionsPlugin: 3569561107n,\n auctionPlugin: 3569561141n,\n daoPlugin: 3569561215n,\n dualStakePlugin: 3569561317n,\n gatePlugin: 3569561367n,\n marketplacePlugin: 3569561455n,\n nfdPlugin: 3572944055n,\n paySiloPlugin: 3569561570n,\n paySiloFactoryPlugin: 3569561636n,\n pollPlugin: 3569561749n,\n rafflePlugin: 3569561863n,\n rewardsPlugin: 3569561963n,\n socialPlugin: 3569562087n,\n stakingPlugin: 3572944799n,\n stakingPoolPlugin: 3569562283n,\n \n // Gate & Other\n gate: 3569558504n,\n hyperSwap: 3569558555n,\n metaMerkles: 3569558010n,\n \n // Subgates\n akitaReferrerGate: 3569558604n,\n assetGate: 3569558602n,\n merkleAddressGate: 3569558615n,\n merkleAssetGate: 3569558603n,\n nfdGate: 3569558608n,\n nfdRootGate: 3569558606n,\n pollGate: 3569558607n,\n socialActivityGate: 3569558616n,\n socialFollowerCountGate: 3569558612n,\n socialFollowerIndexGate: 3569558605n,\n socialImpactGate: 3569558618n,\n socialModeratorGate: 3569558617n,\n stakingAmountGate: 3569558613n,\n stakingPowerGate: 3569558611n,\n subscriptionGate: 3569558609n,\n subscriptionStreakGate: 3569558614n,\n \n // Assets\n akta: 523683256n,\n bones: 3569570855n,\n usdc: 31566704n,\n \n // External Apps\n vrfBeacon: 1615566206n,\n nfdRegistry: 760937186n,\n assetInbox: 2449590623n,\n akitaNfd: 765902356n,\n};\n\n/**\n * Map of network to app IDs.\n * Localnet IDs are not included — they are ephemeral and must be provided\n * externally via .env.localnet after each deploy-universe run.\n */\nexport const NETWORK_APP_IDS: Partial<Record<AkitaNetwork, NetworkAppIds>> = {\n testnet: TESTNET_APP_IDS,\n mainnet: MAINNET_APP_IDS,\n};\n\n/**\n * Create an empty NetworkAppIds object (all 0n).\n * Used as the base for localnet — consumers must overlay with real IDs.\n */\nexport function createEmptyAppIds(): NetworkAppIds {\n return {\n dao: 0n, daoProposalValidator: 0n, wallet: 0n, escrowFactory: 0n, walletFactory: 0n,\n subscriptions: 0n, stakingPoolFactory: 0n, staking: 0n, rewards: 0n,\n social: 0n, socialGraph: 0n, socialImpact: 0n, socialModeration: 0n,\n auctionFactory: 0n, marketplace: 0n, raffleFactory: 0n, pollFactory: 0n, prizeBoxFactory: 0n,\n revenueManagerPlugin: 0n, updatePlugin: 0n, optinPlugin: 0n, selfOptinPlugin: 0n,\n asaMintPlugin: 0n, payPlugin: 0n, haystackRouterPlugin: 0n, hyperSwapPlugin: 0n, subscriptionsPlugin: 0n,\n auctionPlugin: 0n, daoPlugin: 0n, dualStakePlugin: 0n, gatePlugin: 0n,\n marketplacePlugin: 0n, nfdPlugin: 0n, paySiloPlugin: 0n, paySiloFactoryPlugin: 0n,\n pollPlugin: 0n, rafflePlugin: 0n, rewardsPlugin: 0n, socialPlugin: 0n,\n stakingPlugin: 0n, stakingPoolPlugin: 0n,\n gate: 0n, hyperSwap: 0n, metaMerkles: 0n,\n akitaReferrerGate: 0n, assetGate: 0n, merkleAddressGate: 0n, merkleAssetGate: 0n,\n nfdGate: 0n, nfdRootGate: 0n, pollGate: 0n, socialActivityGate: 0n,\n socialFollowerCountGate: 0n, socialFollowerIndexGate: 0n, socialImpactGate: 0n,\n socialModeratorGate: 0n, stakingAmountGate: 0n, stakingPowerGate: 0n,\n subscriptionGate: 0n, subscriptionStreakGate: 0n,\n akta: 0n, bones: 0n, usdc: 0n,\n vrfBeacon: 0n, nfdRegistry: 0n, assetInbox: 0n, akitaNfd: 0n,\n };\n}\n\n/**\n * Get app IDs for a specific network.\n * For localnet, returns all zeros — callers must merge in IDs from .env.localnet.\n */\nexport function getNetworkAppIds(network: AkitaNetwork): NetworkAppIds {\n return NETWORK_APP_IDS[network] ?? createEmptyAppIds();\n}\n\n/**\n * Mapping from SDK/env var names to NetworkAppIds keys\n */\nexport const ENV_TO_NETWORK_KEY: Record<string, keyof NetworkAppIds> = {\n DAO_APP_ID: 'dao',\n DAO_PROPOSAL_VALIDATOR_APP_ID: 'daoProposalValidator',\n WALLET_APP_ID: 'wallet',\n ESCROW_FACTORY_APP_ID: 'escrowFactory',\n WALLET_FACTORY_APP_ID: 'walletFactory',\n SUBSCRIPTIONS_APP_ID: 'subscriptions',\n STAKING_POOL_FACTORY_APP_ID: 'stakingPoolFactory',\n STAKING_APP_ID: 'staking',\n REWARDS_APP_ID: 'rewards',\n \n // Social System\n SOCIAL_APP_ID: 'social',\n SOCIAL_GRAPH_APP_ID: 'socialGraph',\n SOCIAL_IMPACT_APP_ID: 'socialImpact',\n SOCIAL_MODERATION_APP_ID: 'socialModeration',\n \n // Factories\n AUCTION_FACTORY_APP_ID: 'auctionFactory',\n MARKETPLACE_APP_ID: 'marketplace',\n RAFFLE_FACTORY_APP_ID: 'raffleFactory',\n POLL_FACTORY_APP_ID: 'pollFactory',\n PRIZE_BOX_FACTORY_APP_ID: 'prizeBoxFactory',\n \n // Plugins\n REVENUE_MANAGER_PLUGIN_APP_ID: 'revenueManagerPlugin',\n UPDATE_PLUGIN_APP_ID: 'updatePlugin',\n OPTIN_PLUGIN_APP_ID: 'optinPlugin',\n SELF_OPTIN_PLUGIN_APP_ID: 'selfOptinPlugin',\n ASA_MINT_PLUGIN_APP_ID: 'asaMintPlugin',\n PAY_PLUGIN_APP_ID: 'payPlugin',\n HAYSTACK_ROUTER_PLUGIN_APP_ID: 'haystackRouterPlugin',\n HYPER_SWAP_PLUGIN_APP_ID: 'hyperSwapPlugin',\n SUBSCRIPTIONS_PLUGIN_APP_ID: 'subscriptionsPlugin',\n AUCTION_PLUGIN_APP_ID: 'auctionPlugin',\n DAO_PLUGIN_APP_ID: 'daoPlugin',\n DUAL_STAKE_PLUGIN_APP_ID: 'dualStakePlugin',\n GATE_PLUGIN_APP_ID: 'gatePlugin',\n MARKETPLACE_PLUGIN_APP_ID: 'marketplacePlugin',\n NFD_PLUGIN_APP_ID: 'nfdPlugin',\n PAY_SILO_PLUGIN_APP_ID: 'paySiloPlugin',\n PAY_SILO_FACTORY_PLUGIN_APP_ID: 'paySiloFactoryPlugin',\n POLL_PLUGIN_APP_ID: 'pollPlugin',\n RAFFLE_PLUGIN_APP_ID: 'rafflePlugin',\n REWARDS_PLUGIN_APP_ID: 'rewardsPlugin',\n SOCIAL_PLUGIN_APP_ID: 'socialPlugin',\n STAKING_PLUGIN_APP_ID: 'stakingPlugin',\n STAKING_POOL_PLUGIN_APP_ID: 'stakingPoolPlugin',\n \n // Gate & Other\n GATE_APP_ID: 'gate',\n HYPER_SWAP_APP_ID: 'hyperSwap',\n META_MERKLES_APP_ID: 'metaMerkles',\n \n // Subgates\n AKITA_REFERRER_GATE_APP_ID: 'akitaReferrerGate',\n ASSET_GATE_APP_ID: 'assetGate',\n MERKLE_ADDRESS_GATE_APP_ID: 'merkleAddressGate',\n MERKLE_ASSET_GATE_APP_ID: 'merkleAssetGate',\n NFD_GATE_APP_ID: 'nfdGate',\n NFD_ROOT_GATE_APP_ID: 'nfdRootGate',\n POLL_GATE_APP_ID: 'pollGate',\n SOCIAL_ACTIVITY_GATE_APP_ID: 'socialActivityGate',\n SOCIAL_FOLLOWER_COUNT_GATE_APP_ID: 'socialFollowerCountGate',\n SOCIAL_FOLLOWER_INDEX_GATE_APP_ID: 'socialFollowerIndexGate',\n SOCIAL_IMPACT_GATE_APP_ID: 'socialImpactGate',\n SOCIAL_MODERATOR_GATE_APP_ID: 'socialModeratorGate',\n STAKING_AMOUNT_GATE_APP_ID: 'stakingAmountGate',\n STAKING_POWER_GATE_APP_ID: 'stakingPowerGate',\n SUBSCRIPTION_GATE_APP_ID: 'subscriptionGate',\n SUBSCRIPTION_STREAK_GATE_APP_ID: 'subscriptionStreakGate',\n \n // Assets\n AKTA_ASSET_ID: 'akta',\n BONES_ASSET_ID: 'bones',\n USDC_ASSET_ID: 'usdc',\n\n // External Apps\n VRF_BEACON_APP_ID: 'vrfBeacon',\n NFD_REGISTRY_APP_ID: 'nfdRegistry',\n ASSET_INBOX_APP_ID: 'assetInbox',\n AKITA_NFD_APP_ID: 'akitaNfd',\n};\n\n/**\n * Build a NetworkAppIds object from environment variables.\n * Starts from all zeros and overlays any env vars found in the provided record.\n * Works with any env source — process.env, parsed .env files, Expo extra config, etc.\n *\n * @param env - A record of env var names to string values (e.g., process.env or a parsed .env file)\n * @returns A complete NetworkAppIds with values populated from matching env vars\n *\n * @example\n * // From process.env (e.g., in mock-init after sourcing .env.localnet)\n * const appIds = buildAppIdsFromEnv(process.env)\n *\n * @example\n * // From a parsed .env file\n * const parsed = { DAO_APP_ID: '1006', WALLET_APP_ID: '1106' }\n * const appIds = buildAppIdsFromEnv(parsed)\n */\nexport function buildAppIdsFromEnv(env: Record<string, string | undefined>): NetworkAppIds {\n const appIds = createEmptyAppIds();\n\n for (const [envVar, sdkKey] of Object.entries(ENV_TO_NETWORK_KEY)) {\n const val = env[envVar];\n if (val && val !== '0') {\n appIds[sdkKey] = BigInt(val);\n }\n }\n\n return appIds;\n}\n\n/**\n * Get a specific app ID from the network config\n * @param network - The network\n * @param envVarName - The environment variable name (e.g., 'DAO_APP_ID')\n * @returns The app ID, or undefined if not found or is 0\n */\nexport function getAppIdFromNetwork(network: AkitaNetwork, envVarName: string): bigint | undefined {\n const networkAppIds = getNetworkAppIds(network);\n\n const key = ENV_TO_NETWORK_KEY[envVarName];\n if (!key) return undefined;\n\n const appId = networkAppIds[key];\n return appId > 0n ? appId : undefined;\n}\n","/**\n * Configuration module for Akita SDK\n * Handles network detection and environment-based app ID resolution\n */\n\nimport { AlgorandClient } from \"@algorandfoundation/algokit-utils/types/algorand-client\";\nimport { getAppIdFromNetwork, NetworkAppIds, getNetworkAppIds } from \"./networks\";\n\nexport { NetworkAppIds, getNetworkAppIds, TESTNET_APP_IDS, MAINNET_APP_IDS, NETWORK_APP_IDS, ENV_TO_NETWORK_KEY, buildAppIdsFromEnv, createEmptyAppIds } from \"./networks\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type AkitaNetwork = 'localnet' | 'testnet' | 'mainnet';\n\n/**\n * Environment variable names for each SDK/contract\n */\nexport const ENV_VAR_NAMES = {\n // Network\n NETWORK: 'ALGORAND_NETWORK',\n \n // Core Contracts\n DAO_APP_ID: 'DAO_APP_ID',\n DAO_PROPOSAL_VALIDATOR_APP_ID: 'DAO_PROPOSAL_VALIDATOR_APP_ID',\n WALLET_APP_ID: 'WALLET_APP_ID',\n ESCROW_FACTORY_APP_ID: 'ESCROW_FACTORY_APP_ID',\n WALLET_FACTORY_APP_ID: 'WALLET_FACTORY_APP_ID',\n SUBSCRIPTIONS_APP_ID: 'SUBSCRIPTIONS_APP_ID',\n STAKING_POOL_FACTORY_APP_ID: 'STAKING_POOL_FACTORY_APP_ID',\n STAKING_APP_ID: 'STAKING_APP_ID',\n REWARDS_APP_ID: 'REWARDS_APP_ID',\n \n // Social System\n SOCIAL_APP_ID: 'SOCIAL_APP_ID',\n SOCIAL_GRAPH_APP_ID: 'SOCIAL_GRAPH_APP_ID',\n SOCIAL_IMPACT_APP_ID: 'SOCIAL_IMPACT_APP_ID',\n SOCIAL_MODERATION_APP_ID: 'SOCIAL_MODERATION_APP_ID',\n \n // Factories\n AUCTION_FACTORY_APP_ID: 'AUCTION_FACTORY_APP_ID',\n MARKETPLACE_APP_ID: 'MARKETPLACE_APP_ID',\n RAFFLE_FACTORY_APP_ID: 'RAFFLE_FACTORY_APP_ID',\n POLL_FACTORY_APP_ID: 'POLL_FACTORY_APP_ID',\n PRIZE_BOX_FACTORY_APP_ID: 'PRIZE_BOX_FACTORY_APP_ID',\n \n // Plugins\n REVENUE_MANAGER_PLUGIN_APP_ID: 'REVENUE_MANAGER_PLUGIN_APP_ID',\n UPDATE_PLUGIN_APP_ID: 'UPDATE_PLUGIN_APP_ID',\n OPTIN_PLUGIN_APP_ID: 'OPTIN_PLUGIN_APP_ID',\n ASA_MINT_PLUGIN_APP_ID: 'ASA_MINT_PLUGIN_APP_ID',\n PAY_PLUGIN_APP_ID: 'PAY_PLUGIN_APP_ID',\n HYPER_SWAP_PLUGIN_APP_ID: 'HYPER_SWAP_PLUGIN_APP_ID',\n SUBSCRIPTIONS_PLUGIN_APP_ID: 'SUBSCRIPTIONS_PLUGIN_APP_ID',\n AUCTION_PLUGIN_APP_ID: 'AUCTION_PLUGIN_APP_ID',\n DAO_PLUGIN_APP_ID: 'DAO_PLUGIN_APP_ID',\n DUAL_STAKE_PLUGIN_APP_ID: 'DUAL_STAKE_PLUGIN_APP_ID',\n GATE_PLUGIN_APP_ID: 'GATE_PLUGIN_APP_ID',\n MARKETPLACE_PLUGIN_APP_ID: 'MARKETPLACE_PLUGIN_APP_ID',\n NFD_PLUGIN_APP_ID: 'NFD_PLUGIN_APP_ID',\n PAY_SILO_PLUGIN_APP_ID: 'PAY_SILO_PLUGIN_APP_ID',\n PAY_SILO_FACTORY_PLUGIN_APP_ID: 'PAY_SILO_FACTORY_PLUGIN_APP_ID',\n POLL_PLUGIN_APP_ID: 'POLL_PLUGIN_APP_ID',\n RAFFLE_PLUGIN_APP_ID: 'RAFFLE_PLUGIN_APP_ID',\n REWARDS_PLUGIN_APP_ID: 'REWARDS_PLUGIN_APP_ID',\n SOCIAL_PLUGIN_APP_ID: 'SOCIAL_PLUGIN_APP_ID',\n STAKING_PLUGIN_APP_ID: 'STAKING_PLUGIN_APP_ID',\n STAKING_POOL_PLUGIN_APP_ID: 'STAKING_POOL_PLUGIN_APP_ID',\n \n // Gates & Other\n GATE_APP_ID: 'GATE_APP_ID',\n HYPER_SWAP_APP_ID: 'HYPER_SWAP_APP_ID',\n META_MERKLES_APP_ID: 'META_MERKLES_APP_ID',\n \n // Subgates\n AKITA_REFERRER_GATE_APP_ID: 'AKITA_REFERRER_GATE_APP_ID',\n ASSET_GATE_APP_ID: 'ASSET_GATE_APP_ID',\n MERKLE_ADDRESS_GATE_APP_ID: 'MERKLE_ADDRESS_GATE_APP_ID',\n MERKLE_ASSET_GATE_APP_ID: 'MERKLE_ASSET_GATE_APP_ID',\n NFD_GATE_APP_ID: 'NFD_GATE_APP_ID',\n NFD_ROOT_GATE_APP_ID: 'NFD_ROOT_GATE_APP_ID',\n POLL_GATE_APP_ID: 'POLL_GATE_APP_ID',\n SOCIAL_ACTIVITY_GATE_APP_ID: 'SOCIAL_ACTIVITY_GATE_APP_ID',\n SOCIAL_FOLLOWER_COUNT_GATE_APP_ID: 'SOCIAL_FOLLOWER_COUNT_GATE_APP_ID',\n SOCIAL_FOLLOWER_INDEX_GATE_APP_ID: 'SOCIAL_FOLLOWER_INDEX_GATE_APP_ID',\n SOCIAL_IMPACT_GATE_APP_ID: 'SOCIAL_IMPACT_GATE_APP_ID',\n SOCIAL_MODERATOR_GATE_APP_ID: 'SOCIAL_MODERATOR_GATE_APP_ID',\n STAKING_AMOUNT_GATE_APP_ID: 'STAKING_AMOUNT_GATE_APP_ID',\n STAKING_POWER_GATE_APP_ID: 'STAKING_POWER_GATE_APP_ID',\n SUBSCRIPTION_GATE_APP_ID: 'SUBSCRIPTION_GATE_APP_ID',\n SUBSCRIPTION_STREAK_GATE_APP_ID: 'SUBSCRIPTION_STREAK_GATE_APP_ID',\n\n // Assets\n AKTA_ASSET_ID: 'AKTA_ASSET_ID',\n BONES_ASSET_ID: 'BONES_ASSET_ID',\n \n // External Apps\n VRF_BEACON_APP_ID: 'VRF_BEACON_APP_ID',\n NFD_REGISTRY_APP_ID: 'NFD_REGISTRY_APP_ID',\n ASSET_INBOX_APP_ID: 'ASSET_INBOX_APP_ID',\n AKITA_NFD_APP_ID: 'AKITA_NFD_APP_ID',\n} as const;\n\nexport type EnvVarName = keyof typeof ENV_VAR_NAMES;\n\n/**\n * Full configuration object containing all app IDs\n */\nexport interface AkitaConfig {\n network: AkitaNetwork;\n \n // Core Contracts\n daoAppId?: bigint;\n daoProposalValidatorAppId?: bigint;\n walletAppId?: bigint;\n escrowFactoryAppId?: bigint;\n walletFactoryAppId?: bigint;\n subscriptionsAppId?: bigint;\n stakingPoolFactoryAppId?: bigint;\n stakingAppId?: bigint;\n rewardsAppId?: bigint;\n \n // Social System\n socialAppId?: bigint;\n socialGraphAppId?: bigint;\n socialImpactAppId?: bigint;\n socialModerationAppId?: bigint;\n \n // Factories\n auctionFactoryAppId?: bigint;\n marketplaceAppId?: bigint;\n raffleFactoryAppId?: bigint;\n pollFactoryAppId?: bigint;\n prizeBoxFactoryAppId?: bigint;\n \n // Gates & Other\n gateAppId?: bigint;\n hyperSwapAppId?: bigint;\n metaMerklesAppId?: bigint;\n \n // Assets\n aktaAssetId?: bigint;\n bonesAssetId?: bigint;\n}\n\n// ============================================================================\n// Environment Variable Helpers\n// ============================================================================\n\n/**\n * Gets the current network from environment variables\n * Throws an error if no valid network is configured\n * \n * Checks multiple env var names for compatibility:\n * - ALGORAND_NETWORK (SDK standard)\n * - ALGOD_NETWORK (common alternative)\n * - NEXT_PUBLIC_* variants (for Next.js client-side)\n */\nexport function getNetworkFromEnv(): AkitaNetwork {\n // Check multiple env var names for compatibility\n const envVarNames = [\n ENV_VAR_NAMES.NETWORK, // ALGORAND_NETWORK\n 'ALGOD_NETWORK',\n 'NEXT_PUBLIC_ALGORAND_NETWORK',\n 'NEXT_PUBLIC_ALGOD_NETWORK',\n ];\n \n for (const name of envVarNames) {\n const network = getEnvVar(name);\n if (network === 'testnet' || network === 'mainnet' || network === 'localnet') {\n return network;\n }\n }\n \n throw new Error(\n `No valid network configured. Set one of these environment variables to 'localnet', 'testnet', or 'mainnet': ${envVarNames.join(', ')}`\n );\n}\n\n/**\n * Gets an environment variable value\n * Works in both Node.js and browser environments\n */\nexport function getEnvVar(name: string): string | undefined {\n // Node.js environment\n if (typeof process !== 'undefined' && process.env) {\n return process.env[name];\n }\n // Browser environment - check for window.__AKITA_ENV__\n const g = globalThis as any;\n if (typeof g.window !== 'undefined' && g.window.__AKITA_ENV__) {\n return g.window.__AKITA_ENV__[name];\n }\n return undefined;\n}\n\n/**\n * Gets an app ID from environment variables\n * Returns undefined if the env var is not set or is not a valid bigint\n */\nexport function getAppIdFromEnv(envVarName: string): bigint | undefined {\n const value = getEnvVar(envVarName);\n if (!value) return undefined;\n \n try {\n const parsed = BigInt(value);\n return parsed > 0n ? parsed : undefined;\n } catch {\n return undefined;\n }\n}\n\n/**\n * Gets the full configuration from environment variables\n */\nexport function getConfigFromEnv(): AkitaConfig {\n return {\n network: getNetworkFromEnv(),\n \n // Core Contracts\n daoAppId: getAppIdFromEnv(ENV_VAR_NAMES.DAO_APP_ID),\n daoProposalValidatorAppId: getAppIdFromEnv(ENV_VAR_NAMES.DAO_PROPOSAL_VALIDATOR_APP_ID),\n walletAppId: getAppIdFromEnv(ENV_VAR_NAMES.WALLET_APP_ID),\n escrowFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.ESCROW_FACTORY_APP_ID),\n walletFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.WALLET_FACTORY_APP_ID),\n subscriptionsAppId: getAppIdFromEnv(ENV_VAR_NAMES.SUBSCRIPTIONS_APP_ID),\n stakingPoolFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.STAKING_POOL_FACTORY_APP_ID),\n stakingAppId: getAppIdFromEnv(ENV_VAR_NAMES.STAKING_APP_ID),\n rewardsAppId: getAppIdFromEnv(ENV_VAR_NAMES.REWARDS_APP_ID),\n \n // Social System\n socialAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_APP_ID),\n socialGraphAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_GRAPH_APP_ID),\n socialImpactAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_IMPACT_APP_ID),\n socialModerationAppId: getAppIdFromEnv(ENV_VAR_NAMES.SOCIAL_MODERATION_APP_ID),\n \n // Factories\n auctionFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.AUCTION_FACTORY_APP_ID),\n marketplaceAppId: getAppIdFromEnv(ENV_VAR_NAMES.MARKETPLACE_APP_ID),\n raffleFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.RAFFLE_FACTORY_APP_ID),\n pollFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.POLL_FACTORY_APP_ID),\n prizeBoxFactoryAppId: getAppIdFromEnv(ENV_VAR_NAMES.PRIZE_BOX_FACTORY_APP_ID),\n \n // Gates & Other\n gateAppId: getAppIdFromEnv(ENV_VAR_NAMES.GATE_APP_ID),\n hyperSwapAppId: getAppIdFromEnv(ENV_VAR_NAMES.HYPER_SWAP_APP_ID),\n metaMerklesAppId: getAppIdFromEnv(ENV_VAR_NAMES.META_MERKLES_APP_ID),\n \n // Assets\n aktaAssetId: getAppIdFromEnv(ENV_VAR_NAMES.AKTA_ASSET_ID),\n bonesAssetId: getAppIdFromEnv(ENV_VAR_NAMES.BONES_ASSET_ID),\n };\n}\n\n// ============================================================================\n// Network Detection from AlgorandClient\n// ============================================================================\n\n/**\n * Known algod URLs for network detection\n */\nconst TESTNET_URL_PATTERNS = [\n 'testnet',\n 'testnet.algonode.cloud',\n 'testnet-api.algonode.cloud',\n 'testnet-algod.algonode.cloud',\n];\n\nconst MAINNET_URL_PATTERNS = [\n 'mainnet',\n 'mainnet.algonode.cloud', \n 'mainnet-api.algonode.cloud',\n 'mainnet-algod.algonode.cloud',\n 'algonode.io', // mainnet uses .io\n];\n\nconst LOCALNET_URL_PATTERNS = [\n 'localhost',\n '127.0.0.1',\n '0.0.0.0',\n ':4001', // Default algod port\n];\n\n/**\n * Attempts to detect the network from an AlgorandClient instance\n * Priority: explicitly set network > environment variable > URL detection\n * Throws if network cannot be determined\n */\nexport function detectNetworkFromClient(algorand: AlgorandClient): AkitaNetwork {\n // First check if network was explicitly set via setCurrentNetwork()\n // This is the recommended approach for Next.js apps where env vars are statically inlined\n const explicitNetwork = getCurrentNetwork();\n if (explicitNetwork !== undefined) {\n return explicitNetwork;\n }\n \n // Then check environment variable\n try {\n return getNetworkFromEnv();\n } catch {\n // No env var set, try URL detection\n }\n \n // Try to detect from client URL\n try {\n // Try multiple ways to access the URL\n let url = '';\n \n // accessing internal property\n const algodClient = algorand.client?.algod;\n if (algodClient) {\n // @ts-ignore - accessing internal properties\n url = algodClient.c?.baseURL || algodClient.bc?.baseURL || '';\n }\n \n if (typeof url === 'string' && url.length > 0) {\n const lowerUrl = url.toLowerCase();\n \n // Check for mainnet first (more specific)\n for (const pattern of MAINNET_URL_PATTERNS) {\n if (lowerUrl.includes(pattern)) {\n return 'mainnet';\n }\n }\n \n // Check for testnet\n for (const pattern of TESTNET_URL_PATTERNS) {\n if (lowerUrl.includes(pattern)) {\n return 'testnet';\n }\n }\n \n // Check for localnet\n for (const pattern of LOCALNET_URL_PATTERNS) {\n if (lowerUrl.includes(pattern)) {\n return 'localnet';\n }\n }\n }\n } catch {\n // Ignore URL detection errors\n }\n \n // Neither env var nor URL detection worked\n throw new Error(\n 'Could not detect network. Set ALGORAND_NETWORK, ALGOD_NETWORK, or NEXT_PUBLIC_ALGOD_NETWORK ' +\n 'environment variable, or use an AlgorandClient configured with a recognizable network URL.'\n );\n}\n\n// Store the current network context (set when SDK is initialized with an AlgorandClient)\nlet _currentNetwork: AkitaNetwork | undefined = undefined;\n\n/**\n * Sets the current network context\n * Call this before initializing SDKs to avoid auto-detection\n */\nexport function setCurrentNetwork(network: AkitaNetwork): void {\n _currentNetwork = network;\n}\n\n/**\n * Gets the current network context\n * Returns undefined if not explicitly set\n */\nexport function getCurrentNetwork(): AkitaNetwork | undefined {\n return _currentNetwork;\n}\n\n// ============================================================================\n// SDK Type to Env Var Mapping\n// ============================================================================\n\n/**\n * Mapping of SDK class names to their corresponding environment variable names\n */\nexport const SDK_TO_ENV_VAR: Record<string, string> = {\n // Core SDKs\n AkitaDaoSDK: ENV_VAR_NAMES.DAO_APP_ID,\n WalletSDK: ENV_VAR_NAMES.WALLET_APP_ID,\n EscrowFactorySDK: ENV_VAR_NAMES.ESCROW_FACTORY_APP_ID,\n WalletFactorySDK: ENV_VAR_NAMES.WALLET_FACTORY_APP_ID,\n SubscriptionsSDK: ENV_VAR_NAMES.SUBSCRIPTIONS_APP_ID,\n StakingPoolFactorySDK: ENV_VAR_NAMES.STAKING_POOL_FACTORY_APP_ID,\n StakingSDK: ENV_VAR_NAMES.STAKING_APP_ID,\n RewardsSDK: ENV_VAR_NAMES.REWARDS_APP_ID,\n \n // Factories\n AuctionFactorySDK: ENV_VAR_NAMES.AUCTION_FACTORY_APP_ID,\n MarketplaceSDK: ENV_VAR_NAMES.MARKETPLACE_APP_ID,\n RaffleFactorySDK: ENV_VAR_NAMES.RAFFLE_FACTORY_APP_ID,\n PollFactorySDK: ENV_VAR_NAMES.POLL_FACTORY_APP_ID,\n PrizeBoxFactorySDK: ENV_VAR_NAMES.PRIZE_BOX_FACTORY_APP_ID,\n \n // Gates & Other\n GateSDK: ENV_VAR_NAMES.GATE_APP_ID,\n HyperSwapSDK: ENV_VAR_NAMES.HYPER_SWAP_APP_ID,\n MetaMerklesSDK: ENV_VAR_NAMES.META_MERKLES_APP_ID,\n};\n\n/**\n * Gets the app ID for an SDK from environment variables\n * @param sdkName - The name of the SDK class (e.g., 'AkitaDaoSDK')\n * @returns The app ID from environment, or undefined if not found\n */\nexport function getAppIdForSDK(sdkName: string): bigint | undefined {\n const envVarName = SDK_TO_ENV_VAR[sdkName];\n if (!envVarName) return undefined;\n return getAppIdFromEnv(envVarName);\n}\n\n// ============================================================================\n// Configuration Helper for SDKs\n// ============================================================================\n\n/**\n * Resolves the app ID for an SDK using the following priority:\n * 1. Explicitly provided app ID\n * 2. Environment variable\n * 3. Baked-in network-specific app ID (for testnet/mainnet)\n * \n * @param providedAppId - The app ID provided directly to the constructor\n * @param envVarName - The environment variable name to check\n * @param sdkName - Name of the SDK (for error messages)\n * @param network - Optional network override (defaults to current network)\n * @returns The resolved app ID\n * @throws Error if no app ID can be resolved\n */\nexport function resolveAppId(\n providedAppId: bigint | undefined,\n envVarName: string,\n sdkName: string = 'SDK',\n network?: AkitaNetwork\n): bigint {\n // 1. Use provided app ID if available\n if (providedAppId !== undefined && providedAppId > 0n) {\n return providedAppId;\n }\n \n // 2. Try to get from environment variable\n const envAppId = getAppIdFromEnv(envVarName);\n if (envAppId !== undefined) {\n return envAppId;\n }\n \n // 3. Try to get from baked-in network config\n const targetNetwork = network ?? getCurrentNetwork();\n if (targetNetwork !== undefined) {\n const networkAppId = getAppIdFromNetwork(targetNetwork, envVarName);\n if (networkAppId !== undefined) {\n return networkAppId;\n }\n }\n \n // No app ID found - provide helpful error\n let networkHint = '';\n if (targetNetwork === undefined) {\n networkHint = ' Network could not be determined - call setCurrentNetwork() first.';\n } else if (targetNetwork === 'localnet') {\n networkHint = ' For localnet, you must provide app IDs explicitly or set environment variables.';\n } else {\n networkHint = ` The baked-in ${targetNetwork} app IDs may not be configured yet.`;\n }\n \n throw new Error(\n `No app ID provided for ${sdkName}. ` +\n `Either pass appId in constructor params, set ${envVarName} environment variable, ` +\n `or ensure network-specific app IDs are configured.${networkHint}`\n );\n}\n\n/**\n * Resolves app ID with network detection from AlgorandClient\n * This is the preferred method when you have an AlgorandClient instance\n */\nexport function resolveAppIdWithClient(\n algorand: AlgorandClient,\n providedAppId: bigint | undefined,\n envVarName: string,\n sdkName: string = 'SDK'\n): bigint {\n const network = detectNetworkFromClient(algorand);\n setCurrentNetwork(network);\n return resolveAppId(providedAppId, envVarName, sdkName, network);\n}\n\n","import { SendParams } from \"@algorandfoundation/algokit-utils/types/transaction\";\nimport { AlgoAmount } from \"@algorandfoundation/algokit-utils/types/amount\";\nimport { makeEmptyTransactionSigner } from \"@algorandfoundation/algokit-utils/transact\";\nimport { microAlgo } from \"@algorandfoundation/algokit-utils\";\n\nexport const DEFAULT_READER: string = \"Y76M3MSY6DKBRHBL7C3NNDXGS5IIMQVQVUAB6MP4XEMMGVF2QWNPL226CA\" // \"Y76M3MSY6DKBRHBL7C3NNDXGS5IIMQVQVUAB6MP4XEMMGVF2QWNPL226CA\"\n\nexport const emptySigner = makeEmptyTransactionSigner();\n\nexport const SIMULATE_PARAMS = {\n allowMoreLogging: true,\n allowUnnamedResources: true,\n extraOpcodeBudget: 130013,\n fixSigners: true,\n allowEmptySignatures: true,\n};\n\nexport const DEFAULT_SEND_PARAMS: SendParams & { maxFee: AlgoAmount } = {\n /** Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to `Config.populateAppCallResources`. */\n populateAppCallResources: true,\n /** Whether to use simulate to automatically calculate required app call inner transaction fees and cover them in the parent app call transaction fee */\n coverAppCallInnerTransactionFees: true,\n /** the maximum fee to pay */\n maxFee: microAlgo(257_000n)\n}\n\nexport const MAX_UINT64 = BigInt(\"18446744073709551615\"); // 2^64 - 1, the maximum value for a 64-bit unsigned integer"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@
3
3
  var _chunkGIGYZ6YCjs = require('./chunk-GIGYZ6YC.js');
4
4
 
5
5
 
6
- var _chunkQRX6JALTjs = require('./chunk-QRX6JALT.js');
6
+ var _chunkKTA4UUALjs = require('./chunk-KTA4UUAL.js');
7
7
 
8
8
  // src/prize-box/index.ts
9
9
  var _algokitutils = require('@algorandfoundation/algokit-utils');
@@ -1578,7 +1578,7 @@ var PRIZE_BOX_ERROR_MESSAGES = {
1578
1578
  var translatePrizeBoxError = _chunkGIGYZ6YCjs.makeErrorTranslator.call(void 0, PRIZE_BOX_ERROR_MESSAGES);
1579
1579
 
1580
1580
  // src/prize-box/index.ts
1581
- var PrizeBoxSDK = class extends _chunkQRX6JALTjs.BaseSDK {
1581
+ var PrizeBoxSDK = class extends _chunkKTA4UUALjs.BaseSDK {
1582
1582
  constructor(params) {
1583
1583
  super({ factory: PrizeBoxFactory, ...params });
1584
1584
  }
@@ -1657,7 +1657,7 @@ var PrizeBoxSDK = class extends _chunkQRX6JALTjs.BaseSDK {
1657
1657
  });
1658
1658
  }
1659
1659
  };
1660
- var PrizeBoxFactorySDK = class extends _chunkQRX6JALTjs.BaseSDK {
1660
+ var PrizeBoxFactorySDK = class extends _chunkKTA4UUALjs.BaseSDK {
1661
1661
  constructor(params) {
1662
1662
  super({ factory: PrizeBoxFactoryFactory, ...params });
1663
1663
  }
@@ -1733,4 +1733,4 @@ async function newPrizeBox({
1733
1733
 
1734
1734
 
1735
1735
  exports.PRIZE_BOX_ERROR_MESSAGES = PRIZE_BOX_ERROR_MESSAGES; exports.translatePrizeBoxError = translatePrizeBoxError; exports.PrizeBoxSDK = PrizeBoxSDK; exports.PrizeBoxFactorySDK = PrizeBoxFactorySDK; exports.newPrizeBox = newPrizeBox;
1736
- //# sourceMappingURL=chunk-S74KUBXO.js.map
1736
+ //# sourceMappingURL=chunk-CNBZJOUH.js.map