@iota/isc-sdk 0.0.0-dev-20251015065834

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 (132) hide show
  1. package/.prettierignore +2 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/CHANGELOG.md +81 -0
  4. package/LICENSE +201 -0
  5. package/README.md +88 -0
  6. package/dist/cjs/api/EvmRpcClient.d.ts +7 -0
  7. package/dist/cjs/api/EvmRpcClient.js +57 -0
  8. package/dist/cjs/api/EvmRpcClient.js.map +7 -0
  9. package/dist/cjs/api/index.d.ts +1 -0
  10. package/dist/cjs/api/index.js +19 -0
  11. package/dist/cjs/api/index.js.map +7 -0
  12. package/dist/cjs/bcs.d.ts +944 -0
  13. package/dist/cjs/bcs.js +260 -0
  14. package/dist/cjs/bcs.js.map +7 -0
  15. package/dist/cjs/constants.d.ts +2 -0
  16. package/dist/cjs/constants.js +27 -0
  17. package/dist/cjs/constants.js.map +7 -0
  18. package/dist/cjs/enums/contracts.enums.d.ts +76 -0
  19. package/dist/cjs/enums/contracts.enums.js +113 -0
  20. package/dist/cjs/enums/contracts.enums.js.map +7 -0
  21. package/dist/cjs/enums/index.d.ts +1 -0
  22. package/dist/cjs/enums/index.js +19 -0
  23. package/dist/cjs/enums/index.js.map +7 -0
  24. package/dist/cjs/index.d.ts +9 -0
  25. package/dist/cjs/index.js +27 -0
  26. package/dist/cjs/index.js.map +7 -0
  27. package/dist/cjs/isc.d.ts +26 -0
  28. package/dist/cjs/isc.js +220 -0
  29. package/dist/cjs/isc.js.map +7 -0
  30. package/dist/cjs/move_bcs.d.ts +124 -0
  31. package/dist/cjs/move_bcs.js +70 -0
  32. package/dist/cjs/move_bcs.js.map +7 -0
  33. package/dist/cjs/package.json +4 -0
  34. package/dist/cjs/transaction.d.ts +168 -0
  35. package/dist/cjs/transaction.js +328 -0
  36. package/dist/cjs/transaction.js.map +7 -0
  37. package/dist/cjs/types/assetsResponse.d.ts +37 -0
  38. package/dist/cjs/types/assetsResponse.js +34 -0
  39. package/dist/cjs/types/assetsResponse.js.map +7 -0
  40. package/dist/cjs/types/chainData.d.ts +12 -0
  41. package/dist/cjs/types/chainData.js +29 -0
  42. package/dist/cjs/types/chainData.js.map +7 -0
  43. package/dist/cjs/types/index.d.ts +2 -0
  44. package/dist/cjs/types/index.js +20 -0
  45. package/dist/cjs/types/index.js.map +7 -0
  46. package/dist/cjs/utils/getHname.d.ts +1 -0
  47. package/dist/cjs/utils/getHname.js +30 -0
  48. package/dist/cjs/utils/getHname.js.map +7 -0
  49. package/dist/cjs/utils/index.d.ts +1 -0
  50. package/dist/cjs/utils/index.js +19 -0
  51. package/dist/cjs/utils/index.js.map +7 -0
  52. package/dist/cjs/vite-env.d.js +2 -0
  53. package/dist/cjs/vite-env.d.js.map +7 -0
  54. package/dist/esm/api/EvmRpcClient.d.ts +7 -0
  55. package/dist/esm/api/EvmRpcClient.js +37 -0
  56. package/dist/esm/api/EvmRpcClient.js.map +7 -0
  57. package/dist/esm/api/index.d.ts +1 -0
  58. package/dist/esm/api/index.js +2 -0
  59. package/dist/esm/api/index.js.map +7 -0
  60. package/dist/esm/bcs.d.ts +944 -0
  61. package/dist/esm/bcs.js +240 -0
  62. package/dist/esm/bcs.js.map +7 -0
  63. package/dist/esm/constants.d.ts +2 -0
  64. package/dist/esm/constants.js +7 -0
  65. package/dist/esm/constants.js.map +7 -0
  66. package/dist/esm/enums/contracts.enums.d.ts +76 -0
  67. package/dist/esm/enums/contracts.enums.js +93 -0
  68. package/dist/esm/enums/contracts.enums.js.map +7 -0
  69. package/dist/esm/enums/index.d.ts +1 -0
  70. package/dist/esm/enums/index.js +2 -0
  71. package/dist/esm/enums/index.js.map +7 -0
  72. package/dist/esm/index.d.ts +9 -0
  73. package/dist/esm/index.js +10 -0
  74. package/dist/esm/index.js.map +7 -0
  75. package/dist/esm/isc.d.ts +26 -0
  76. package/dist/esm/isc.js +200 -0
  77. package/dist/esm/isc.js.map +7 -0
  78. package/dist/esm/move_bcs.d.ts +124 -0
  79. package/dist/esm/move_bcs.js +50 -0
  80. package/dist/esm/move_bcs.js.map +7 -0
  81. package/dist/esm/package.json +4 -0
  82. package/dist/esm/transaction.d.ts +168 -0
  83. package/dist/esm/transaction.js +298 -0
  84. package/dist/esm/transaction.js.map +7 -0
  85. package/dist/esm/types/assetsResponse.d.ts +37 -0
  86. package/dist/esm/types/assetsResponse.js +14 -0
  87. package/dist/esm/types/assetsResponse.js.map +7 -0
  88. package/dist/esm/types/chainData.d.ts +12 -0
  89. package/dist/esm/types/chainData.js +9 -0
  90. package/dist/esm/types/chainData.js.map +7 -0
  91. package/dist/esm/types/index.d.ts +2 -0
  92. package/dist/esm/types/index.js +3 -0
  93. package/dist/esm/types/index.js.map +7 -0
  94. package/dist/esm/utils/getHname.d.ts +1 -0
  95. package/dist/esm/utils/getHname.js +10 -0
  96. package/dist/esm/utils/getHname.js.map +7 -0
  97. package/dist/esm/utils/index.d.ts +1 -0
  98. package/dist/esm/utils/index.js +2 -0
  99. package/dist/esm/utils/index.js.map +7 -0
  100. package/dist/esm/vite-env.d.js +10 -0
  101. package/dist/esm/vite-env.d.js.map +7 -0
  102. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  103. package/dist/tsconfig.tsbuildinfo +1 -0
  104. package/examples/L1AddressL2funds.ts +72 -0
  105. package/examples/anchor.ts +72 -0
  106. package/examples/assetsBag.ts +61 -0
  107. package/examples/config.ts +81 -0
  108. package/examples/tokens.ts +96 -0
  109. package/package.json +57 -0
  110. package/src/api/EvmRpcClient.ts +48 -0
  111. package/src/api/index.ts +1 -0
  112. package/src/bcs.ts +237 -0
  113. package/src/constants.ts +4 -0
  114. package/src/enums/contracts.enums.ts +82 -0
  115. package/src/enums/index.ts +1 -0
  116. package/src/index.ts +9 -0
  117. package/src/isc.ts +331 -0
  118. package/src/move_bcs.ts +47 -0
  119. package/src/transaction.ts +380 -0
  120. package/src/types/assetsResponse.ts +13 -0
  121. package/src/types/chainData.ts +8 -0
  122. package/src/types/index.ts +2 -0
  123. package/src/utils/getHname.ts +11 -0
  124. package/src/utils/index.ts +1 -0
  125. package/src/vite-env.d.ts +1 -0
  126. package/tests/L1ToL2Tokens.spec.ts +141 -0
  127. package/tests/config.ts +81 -0
  128. package/tests/getHname.spec.ts +78 -0
  129. package/tests/utils.ts +69 -0
  130. package/tsconfig.esm.json +7 -0
  131. package/tsconfig.json +11 -0
  132. package/vitest.config.ts +10 -0
@@ -0,0 +1,298 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ var _finalized, _transaction, _chainData;
9
+ import { Transaction } from "@iota/iota-sdk/transactions";
10
+ import * as isc from "./isc.js";
11
+ import { IOTA_TYPE_ARG } from "@iota/iota-sdk/utils";
12
+ import { L2_FROM_L1_GAS_BUDGET } from "./constants.js";
13
+ class IscTransaction {
14
+ constructor(chainData, transaction = new Transaction()) {
15
+ __privateAdd(this, _finalized);
16
+ __privateAdd(this, _transaction);
17
+ __privateAdd(this, _chainData);
18
+ __privateSet(this, _finalized, false);
19
+ __privateSet(this, _transaction, transaction);
20
+ __privateSet(this, _chainData, chainData);
21
+ }
22
+ validateFinalizedStatus() {
23
+ if (__privateGet(this, _finalized)) {
24
+ throw Error("Transaction is built.");
25
+ }
26
+ }
27
+ /**
28
+ * Getter for the IOTA MOVE Transaction.
29
+ */
30
+ transaction() {
31
+ return __privateGet(this, _transaction);
32
+ }
33
+ /**
34
+ * Create a bag.
35
+ */
36
+ newBag() {
37
+ this.validateFinalizedStatus();
38
+ return isc.newBag(__privateGet(this, _transaction), __privateGet(this, _chainData));
39
+ }
40
+ /**
41
+ * Get some amount in a coin.
42
+ */
43
+ coinFromAmount({ amount }) {
44
+ this.validateFinalizedStatus();
45
+ return isc.coinFromAmount(__privateGet(this, _transaction), BigInt(amount));
46
+ }
47
+ /**
48
+ * Place a coin in a bag.
49
+ *
50
+ * **Uses the IOTA Coin Type by default.**
51
+ */
52
+ placeCoinInBag({
53
+ bag,
54
+ coinType = IOTA_TYPE_ARG,
55
+ coin
56
+ }) {
57
+ this.validateFinalizedStatus();
58
+ isc.placeCoinInBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, coinType, coin);
59
+ }
60
+ /**
61
+ * Finally create and send a request calling the given `contractFunction` with `contractArgs` in `contract`
62
+ */
63
+ createAndSend({
64
+ bag,
65
+ contract,
66
+ contractFunction,
67
+ contractArgs,
68
+ transfers,
69
+ gasBudget = L2_FROM_L1_GAS_BUDGET
70
+ }) {
71
+ this.validateFinalizedStatus();
72
+ isc.createAndSendRequest(
73
+ __privateGet(this, _transaction),
74
+ __privateGet(this, _chainData),
75
+ contract,
76
+ contractFunction,
77
+ contractArgs,
78
+ bag,
79
+ transfers,
80
+ gasBudget
81
+ );
82
+ }
83
+ /**
84
+ * Finally create and send a request calling the given `accountsFunction` in `accountsContract`
85
+ */
86
+ createAndSendToEvm({
87
+ address,
88
+ accountsContract,
89
+ accountsFunction,
90
+ transfers,
91
+ gasBudget = L2_FROM_L1_GAS_BUDGET,
92
+ bag
93
+ }) {
94
+ const agentID = isc.agentIdForEVM(address);
95
+ this.createAndSend({
96
+ bag,
97
+ gasBudget,
98
+ contract: accountsContract,
99
+ contractFunction: accountsFunction,
100
+ contractArgs: [agentID],
101
+ transfers
102
+ });
103
+ }
104
+ /**
105
+ * Take out the specified amount of coin from the bag.
106
+ *
107
+ * **Uses the IOTA Coin Type by default.**
108
+ */
109
+ takeCoinBalanceFromBag({
110
+ bag,
111
+ coinType = IOTA_TYPE_ARG,
112
+ amount
113
+ }) {
114
+ this.validateFinalizedStatus();
115
+ return isc.takeCoinBalanceFromBag(
116
+ __privateGet(this, _transaction),
117
+ __privateGet(this, _chainData),
118
+ bag,
119
+ coinType,
120
+ amount
121
+ );
122
+ }
123
+ /**
124
+ * Take out all the coin from the bag.
125
+ *
126
+ * **Uses the IOTA Coin Type by default.**
127
+ */
128
+ takeAllCoinBalanceFromBag({
129
+ bag,
130
+ coinType = IOTA_TYPE_ARG
131
+ }) {
132
+ this.validateFinalizedStatus();
133
+ return isc.takeAllCoinBalanceFromBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, coinType);
134
+ }
135
+ /**
136
+ * Place a coin balance in the bag.
137
+ *
138
+ * **Uses the IOTA Coin Type by default.**
139
+ */
140
+ placeCoinBalanceInBag({
141
+ bag,
142
+ coinType = IOTA_TYPE_ARG,
143
+ balance
144
+ }) {
145
+ this.validateFinalizedStatus();
146
+ isc.placeCoinBalanceInBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, coinType, balance);
147
+ }
148
+ /**
149
+ * Place an asset in the bag.
150
+ */
151
+ placeAssetInBag({
152
+ bag,
153
+ asset,
154
+ assetType
155
+ }) {
156
+ this.validateFinalizedStatus();
157
+ isc.placeAssetInBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, assetType, asset);
158
+ }
159
+ /**
160
+ * Take an asset from a bag.
161
+ */
162
+ takeAssetFromBag({
163
+ bag,
164
+ assetType,
165
+ asset
166
+ }) {
167
+ this.validateFinalizedStatus();
168
+ isc.takeAssetFromBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, assetType, asset);
169
+ }
170
+ /**
171
+ * Get the size of the bag.
172
+ */
173
+ getSizeOfBag({ bag }) {
174
+ this.validateFinalizedStatus();
175
+ return isc.getSizeOfBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag);
176
+ }
177
+ /**
178
+ * Destroy the bag.
179
+ */
180
+ destroyBag({ bag }) {
181
+ this.validateFinalizedStatus();
182
+ return isc.destroyBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag);
183
+ }
184
+ startNewChain({ metadata, coin }) {
185
+ this.validateFinalizedStatus();
186
+ return isc.startNewChain(__privateGet(this, _transaction), __privateGet(this, _chainData), metadata, coin);
187
+ }
188
+ createAnchorWithAssetBag({ bag }) {
189
+ this.validateFinalizedStatus();
190
+ return isc.createAnchorWithAssetBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag);
191
+ }
192
+ updateAnchorStateForMigraton({
193
+ anchor,
194
+ metadata,
195
+ stateIndex
196
+ }) {
197
+ this.validateFinalizedStatus();
198
+ return isc.updateAnchorStateForMigraton(
199
+ __privateGet(this, _transaction),
200
+ __privateGet(this, _chainData),
201
+ anchor,
202
+ metadata,
203
+ stateIndex
204
+ );
205
+ }
206
+ destroyAnchor({ anchor }) {
207
+ this.validateFinalizedStatus();
208
+ return isc.destroyAnchor(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor);
209
+ }
210
+ borrowAssets({ anchor }) {
211
+ this.validateFinalizedStatus();
212
+ return isc.borrowAssets(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor);
213
+ }
214
+ returnAssetsFromBorrow({
215
+ anchor,
216
+ bag,
217
+ borrow
218
+ }) {
219
+ this.validateFinalizedStatus();
220
+ return isc.returnAssetsFromBorrow(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor, bag, borrow);
221
+ }
222
+ receiveRequest({ anchor, request }) {
223
+ this.validateFinalizedStatus();
224
+ return isc.receiveRequest(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor, request);
225
+ }
226
+ transition({
227
+ anchor,
228
+ newStateMetadata,
229
+ receipts
230
+ }) {
231
+ this.validateFinalizedStatus();
232
+ return isc.transition(
233
+ __privateGet(this, _transaction),
234
+ __privateGet(this, _chainData),
235
+ anchor,
236
+ newStateMetadata,
237
+ receipts
238
+ );
239
+ }
240
+ placeCoinForMigration({
241
+ anchor,
242
+ coinType = IOTA_TYPE_ARG,
243
+ coin
244
+ }) {
245
+ this.validateFinalizedStatus();
246
+ return isc.placeCoinForMigration(
247
+ __privateGet(this, _transaction),
248
+ __privateGet(this, _chainData),
249
+ anchor,
250
+ coinType,
251
+ coin
252
+ );
253
+ }
254
+ placeCoinBalanceForMigration({
255
+ anchor,
256
+ coinType = IOTA_TYPE_ARG,
257
+ balance
258
+ }) {
259
+ this.validateFinalizedStatus();
260
+ return isc.placeCoinBalanceForMigration(
261
+ __privateGet(this, _transaction),
262
+ __privateGet(this, _chainData),
263
+ anchor,
264
+ coinType,
265
+ balance
266
+ );
267
+ }
268
+ placeAssetForMigration({
269
+ anchor,
270
+ assetType,
271
+ asset
272
+ }) {
273
+ this.validateFinalizedStatus();
274
+ return isc.placeAssetForMigration(
275
+ __privateGet(this, _transaction),
276
+ __privateGet(this, _chainData),
277
+ anchor,
278
+ assetType,
279
+ asset
280
+ );
281
+ }
282
+ /**
283
+ * Stop building this ISC Transaction and return the IOTA MOVE Transaction.
284
+ * @returns IOTA MOVE Transaction.
285
+ */
286
+ build() {
287
+ this.validateFinalizedStatus();
288
+ __privateSet(this, _finalized, true);
289
+ return __privateGet(this, _transaction);
290
+ }
291
+ }
292
+ _finalized = new WeakMap();
293
+ _transaction = new WeakMap();
294
+ _chainData = new WeakMap();
295
+ export {
296
+ IscTransaction
297
+ };
298
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/transaction.ts"],
4
+ "sourcesContent": ["import type { TransactionObjectArgument } from '@iota/iota-sdk/transactions';\nimport { Transaction } from '@iota/iota-sdk/transactions';\nimport * as isc from './isc.js';\nimport type { ChainData } from './types/index.js';\nimport { IOTA_TYPE_ARG } from '@iota/iota-sdk/utils';\nimport { L2_FROM_L1_GAS_BUDGET } from './constants.js';\nimport type { ObjectArgument } from './isc.js';\n\nexport type Agent = {\n type: 'evm';\n address: string;\n};\n\nexport class IscTransaction {\n #finalized: boolean;\n #transaction: Transaction;\n #chainData: ChainData;\n\n constructor(chainData: ChainData, transaction = new Transaction()) {\n this.#finalized = false;\n this.#transaction = transaction;\n this.#chainData = chainData;\n }\n\n private validateFinalizedStatus() {\n if (this.#finalized) {\n throw Error('Transaction is built.');\n }\n }\n\n /**\n * Getter for the IOTA MOVE Transaction.\n */\n transaction(): Transaction {\n return this.#transaction;\n }\n\n /**\n * Create a bag.\n */\n newBag(): TransactionObjectArgument {\n this.validateFinalizedStatus();\n return isc.newBag(this.#transaction, this.#chainData);\n }\n\n /**\n * Get some amount in a coin.\n */\n coinFromAmount({ amount }: { amount: number | bigint }) {\n this.validateFinalizedStatus();\n return isc.coinFromAmount(this.#transaction, BigInt(amount));\n }\n\n /**\n * Place a coin in a bag.\n *\n * **Uses the IOTA Coin Type by default.**\n */\n placeCoinInBag({\n bag,\n coinType = IOTA_TYPE_ARG,\n coin,\n }: {\n coin: ObjectArgument;\n coinType?: string;\n bag: TransactionObjectArgument;\n }) {\n this.validateFinalizedStatus();\n isc.placeCoinInBag(this.#transaction, this.#chainData, bag, coinType, coin);\n }\n\n /**\n * Finally create and send a request calling the given `contractFunction` with `contractArgs` in `contract`\n */\n createAndSend({\n bag,\n contract,\n contractFunction,\n contractArgs,\n transfers,\n gasBudget = L2_FROM_L1_GAS_BUDGET,\n }: {\n contractArgs: Uint8Array[];\n contract: number;\n contractFunction: number;\n transfers: Array<[string, number | bigint]>;\n gasBudget?: number | bigint;\n bag: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n isc.createAndSendRequest(\n this.#transaction,\n this.#chainData,\n contract,\n contractFunction,\n contractArgs,\n bag,\n transfers,\n gasBudget,\n );\n }\n\n /**\n * Finally create and send a request calling the given `accountsFunction` in `accountsContract`\n */\n createAndSendToEvm({\n address,\n accountsContract,\n accountsFunction,\n transfers,\n gasBudget = L2_FROM_L1_GAS_BUDGET,\n bag,\n }: {\n address: string;\n accountsContract: number;\n accountsFunction: number;\n transfers: Array<[string, number | bigint]>;\n gasBudget?: number | bigint;\n bag: ObjectArgument;\n }) {\n const agentID = isc.agentIdForEVM(address);\n this.createAndSend({\n bag,\n gasBudget,\n contract: accountsContract,\n contractFunction: accountsFunction,\n contractArgs: [agentID],\n transfers,\n });\n }\n\n /**\n * Take out the specified amount of coin from the bag.\n *\n * **Uses the IOTA Coin Type by default.**\n */\n takeCoinBalanceFromBag({\n bag,\n coinType = IOTA_TYPE_ARG,\n amount,\n }: {\n amount: number | bigint;\n coinType?: string;\n bag: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n return isc.takeCoinBalanceFromBag(\n this.#transaction,\n this.#chainData,\n bag,\n coinType,\n amount,\n );\n }\n\n /**\n * Take out all the coin from the bag.\n *\n * **Uses the IOTA Coin Type by default.**\n */\n takeAllCoinBalanceFromBag({\n bag,\n coinType = IOTA_TYPE_ARG,\n }: {\n bag: ObjectArgument;\n coinType?: string;\n }) {\n this.validateFinalizedStatus();\n return isc.takeAllCoinBalanceFromBag(this.#transaction, this.#chainData, bag, coinType);\n }\n\n /**\n * Place a coin balance in the bag.\n *\n * **Uses the IOTA Coin Type by default.**\n */\n placeCoinBalanceInBag({\n bag,\n coinType = IOTA_TYPE_ARG,\n balance,\n }: {\n balance: ObjectArgument;\n coinType?: string;\n bag: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n isc.placeCoinBalanceInBag(this.#transaction, this.#chainData, bag, coinType, balance);\n }\n\n /**\n * Place an asset in the bag.\n */\n placeAssetInBag({\n bag,\n asset,\n assetType,\n }: {\n asset: ObjectArgument;\n bag: ObjectArgument;\n assetType: string;\n }) {\n this.validateFinalizedStatus();\n isc.placeAssetInBag(this.#transaction, this.#chainData, bag, assetType, asset);\n }\n\n /**\n * Take an asset from a bag.\n */\n takeAssetFromBag({\n bag,\n assetType,\n asset,\n }: {\n bag: ObjectArgument;\n assetType: string;\n asset: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n isc.takeAssetFromBag(this.#transaction, this.#chainData, bag, assetType, asset);\n }\n\n /**\n * Get the size of the bag.\n */\n getSizeOfBag({ bag }: { bag: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.getSizeOfBag(this.#transaction, this.#chainData, bag);\n }\n\n /**\n * Destroy the bag.\n */\n destroyBag({ bag }: { bag: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.destroyBag(this.#transaction, this.#chainData, bag);\n }\n\n startNewChain({ metadata, coin }: { metadata: Uint8Array; coin?: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.startNewChain(this.#transaction, this.#chainData, metadata, coin);\n }\n\n createAnchorWithAssetBag({ bag }: { bag: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.createAnchorWithAssetBag(this.#transaction, this.#chainData, bag);\n }\n\n updateAnchorStateForMigraton({\n anchor,\n metadata,\n stateIndex,\n }: {\n anchor: ObjectArgument;\n metadata: Uint8Array;\n stateIndex: number;\n }) {\n this.validateFinalizedStatus();\n return isc.updateAnchorStateForMigraton(\n this.#transaction,\n this.#chainData,\n anchor,\n metadata,\n stateIndex,\n );\n }\n\n destroyAnchor({ anchor }: { anchor: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.destroyAnchor(this.#transaction, this.#chainData, anchor);\n }\n\n borrowAssets({ anchor }: { anchor: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.borrowAssets(this.#transaction, this.#chainData, anchor);\n }\n\n returnAssetsFromBorrow({\n anchor,\n bag,\n borrow,\n }: {\n anchor: ObjectArgument;\n bag: ObjectArgument;\n borrow: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n return isc.returnAssetsFromBorrow(this.#transaction, this.#chainData, anchor, bag, borrow);\n }\n\n receiveRequest({ anchor, request }: { anchor: ObjectArgument; request: ObjectArgument }) {\n this.validateFinalizedStatus();\n return isc.receiveRequest(this.#transaction, this.#chainData, anchor, request);\n }\n\n transition({\n anchor,\n newStateMetadata,\n receipts,\n }: {\n anchor: ObjectArgument;\n newStateMetadata: Uint8Array;\n receipts: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n return isc.transition(\n this.#transaction,\n this.#chainData,\n anchor,\n newStateMetadata,\n receipts,\n );\n }\n\n placeCoinForMigration({\n anchor,\n coinType = IOTA_TYPE_ARG,\n coin,\n }: {\n anchor: ObjectArgument;\n coinType?: string;\n coin: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n return isc.placeCoinForMigration(\n this.#transaction,\n this.#chainData,\n anchor,\n coinType,\n coin,\n );\n }\n\n placeCoinBalanceForMigration({\n anchor,\n coinType = IOTA_TYPE_ARG,\n balance,\n }: {\n anchor: ObjectArgument;\n coinType?: string;\n balance: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n return isc.placeCoinBalanceForMigration(\n this.#transaction,\n this.#chainData,\n anchor,\n coinType,\n balance,\n );\n }\n\n placeAssetForMigration({\n anchor,\n assetType,\n asset,\n }: {\n anchor: ObjectArgument;\n assetType: string;\n asset: ObjectArgument;\n }) {\n this.validateFinalizedStatus();\n return isc.placeAssetForMigration(\n this.#transaction,\n this.#chainData,\n anchor,\n assetType,\n asset,\n );\n }\n\n /**\n * Stop building this ISC Transaction and return the IOTA MOVE Transaction.\n * @returns IOTA MOVE Transaction.\n */\n build(): Transaction {\n this.validateFinalizedStatus();\n this.#finalized = true;\n return this.#transaction;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare const CoinJSONSchema: z.ZodObject<{
3
+ balance: z.ZodString;
4
+ coinType: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ coinType: string;
7
+ balance: string;
8
+ }, {
9
+ coinType: string;
10
+ balance: string;
11
+ }>;
12
+ export declare const AssetsResponseSchema: z.ZodObject<{
13
+ baseTokens: z.ZodString;
14
+ nativeTokens: z.ZodArray<z.ZodObject<{
15
+ balance: z.ZodString;
16
+ coinType: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ coinType: string;
19
+ balance: string;
20
+ }, {
21
+ coinType: string;
22
+ balance: string;
23
+ }>, "many">;
24
+ }, "strip", z.ZodTypeAny, {
25
+ baseTokens: string;
26
+ nativeTokens: {
27
+ coinType: string;
28
+ balance: string;
29
+ }[];
30
+ }, {
31
+ baseTokens: string;
32
+ nativeTokens: {
33
+ coinType: string;
34
+ balance: string;
35
+ }[];
36
+ }>;
37
+ export type AssetsResponse = z.infer<typeof AssetsResponseSchema>;
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ const CoinJSONSchema = z.object({
3
+ balance: z.string(),
4
+ coinType: z.string()
5
+ });
6
+ const AssetsResponseSchema = z.object({
7
+ baseTokens: z.string(),
8
+ nativeTokens: z.array(CoinJSONSchema)
9
+ });
10
+ export {
11
+ AssetsResponseSchema,
12
+ CoinJSONSchema
13
+ };
14
+ //# sourceMappingURL=assetsResponse.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/assetsResponse.ts"],
4
+ "sourcesContent": ["import { z } from 'zod';\n\nexport const CoinJSONSchema = z.object({\n balance: z.string(),\n coinType: z.string(),\n});\n\nexport const AssetsResponseSchema = z.object({\n baseTokens: z.string(),\n nativeTokens: z.array(CoinJSONSchema),\n});\n\nexport type AssetsResponse = z.infer<typeof AssetsResponseSchema>;\n"],
5
+ "mappings": "AAAA,SAAS,SAAS;AAEX,MAAM,iBAAiB,EAAE,OAAO;AAAA,EACnC,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU,EAAE,OAAO;AACvB,CAAC;AAEM,MAAM,uBAAuB,EAAE,OAAO;AAAA,EACzC,YAAY,EAAE,OAAO;AAAA,EACrB,cAAc,EAAE,MAAM,cAAc;AACxC,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export declare const ChainDataSchema: z.ZodObject<{
3
+ packageId: z.ZodString;
4
+ chainId: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ packageId: string;
7
+ chainId: string;
8
+ }, {
9
+ packageId: string;
10
+ chainId: string;
11
+ }>;
12
+ export type ChainData = z.infer<typeof ChainDataSchema>;
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ const ChainDataSchema = z.object({
3
+ packageId: z.string(),
4
+ chainId: z.string()
5
+ });
6
+ export {
7
+ ChainDataSchema
8
+ };
9
+ //# sourceMappingURL=chainData.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/chainData.ts"],
4
+ "sourcesContent": ["import { z } from 'zod';\n\nexport const ChainDataSchema = z.object({\n packageId: z.string(),\n chainId: z.string(),\n});\n\nexport type ChainData = z.infer<typeof ChainDataSchema>;\n"],
5
+ "mappings": "AAAA,SAAS,SAAS;AAEX,MAAM,kBAAkB,EAAE,OAAO;AAAA,EACpC,WAAW,EAAE,OAAO;AAAA,EACpB,SAAS,EAAE,OAAO;AACtB,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './assetsResponse.js';
2
+ export * from './chainData.js';
@@ -0,0 +1,3 @@
1
+ export * from "./assetsResponse.js";
2
+ export * from "./chainData.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/index.ts"],
4
+ "sourcesContent": ["export * from './assetsResponse.js';\nexport * from './chainData.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ export declare function getHname(input: string): number;
@@ -0,0 +1,10 @@
1
+ import { blake2b } from "@noble/hashes/blake2";
2
+ function getHname(input) {
3
+ const hash = blake2b(new TextEncoder().encode(input), { dkLen: 32 });
4
+ const value = hash[0] | hash[1] << 8 | hash[2] << 16 | hash[3] << 24;
5
+ return Number("0x" + (value >>> 0).toString(16).padStart(8, "0"));
6
+ }
7
+ export {
8
+ getHname
9
+ };
10
+ //# sourceMappingURL=getHname.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/getHname.ts"],
4
+ "sourcesContent": ["import { blake2b } from '@noble/hashes/blake2';\n\nexport function getHname(input: string): number {\n // Encode input as UTF-8 and hash it using BLAKE2b (32-byte digest)\n const hash = blake2b(new TextEncoder().encode(input), { dkLen: 32 });\n\n // Extract the first 4 bytes and interpret as little-endian uint32\n const value = hash[0] | (hash[1] << 8) | (hash[2] << 16) | (hash[3] << 24);\n\n return Number('0x' + (value >>> 0).toString(16).padStart(8, '0')); // Convert to hex with leading zeros\n}\n"],
5
+ "mappings": "AAAA,SAAS,eAAe;AAEjB,SAAS,SAAS,OAAuB;AAE5C,QAAM,OAAO,QAAQ,IAAI,YAAY,EAAE,OAAO,KAAK,GAAG,EAAE,OAAO,GAAG,CAAC;AAGnE,QAAM,QAAQ,KAAK,CAAC,IAAK,KAAK,CAAC,KAAK,IAAM,KAAK,CAAC,KAAK,KAAO,KAAK,CAAC,KAAK;AAEvE,SAAO,OAAO,QAAQ,UAAU,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AACpE;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ export * from './getHname.js';
@@ -0,0 +1,2 @@
1
+ export * from "./getHname.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/index.ts"],
4
+ "sourcesContent": ["export * from './getHname.js';\n"],
5
+ "mappings": "AAAA,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = (cb, mod) => function __require() {
3
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
+ };
5
+ var require_vite_env_d = __commonJS({
6
+ "src/vite-env.d.ts"() {
7
+ }
8
+ });
9
+ export default require_vite_env_d();
10
+ //# sourceMappingURL=vite-env.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/vite-env.d.ts"],
4
+ "sourcesContent": ["/// <reference types=\"vite/client\" />\n"],
5
+ "mappings": ";;;;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }