@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.
- package/.prettierignore +2 -0
- package/.turbo/turbo-build.log +4 -0
- package/CHANGELOG.md +81 -0
- package/LICENSE +201 -0
- package/README.md +88 -0
- package/dist/cjs/api/EvmRpcClient.d.ts +7 -0
- package/dist/cjs/api/EvmRpcClient.js +57 -0
- package/dist/cjs/api/EvmRpcClient.js.map +7 -0
- package/dist/cjs/api/index.d.ts +1 -0
- package/dist/cjs/api/index.js +19 -0
- package/dist/cjs/api/index.js.map +7 -0
- package/dist/cjs/bcs.d.ts +944 -0
- package/dist/cjs/bcs.js +260 -0
- package/dist/cjs/bcs.js.map +7 -0
- package/dist/cjs/constants.d.ts +2 -0
- package/dist/cjs/constants.js +27 -0
- package/dist/cjs/constants.js.map +7 -0
- package/dist/cjs/enums/contracts.enums.d.ts +76 -0
- package/dist/cjs/enums/contracts.enums.js +113 -0
- package/dist/cjs/enums/contracts.enums.js.map +7 -0
- package/dist/cjs/enums/index.d.ts +1 -0
- package/dist/cjs/enums/index.js +19 -0
- package/dist/cjs/enums/index.js.map +7 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/isc.d.ts +26 -0
- package/dist/cjs/isc.js +220 -0
- package/dist/cjs/isc.js.map +7 -0
- package/dist/cjs/move_bcs.d.ts +124 -0
- package/dist/cjs/move_bcs.js +70 -0
- package/dist/cjs/move_bcs.js.map +7 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/transaction.d.ts +168 -0
- package/dist/cjs/transaction.js +328 -0
- package/dist/cjs/transaction.js.map +7 -0
- package/dist/cjs/types/assetsResponse.d.ts +37 -0
- package/dist/cjs/types/assetsResponse.js +34 -0
- package/dist/cjs/types/assetsResponse.js.map +7 -0
- package/dist/cjs/types/chainData.d.ts +12 -0
- package/dist/cjs/types/chainData.js +29 -0
- package/dist/cjs/types/chainData.js.map +7 -0
- package/dist/cjs/types/index.d.ts +2 -0
- package/dist/cjs/types/index.js +20 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/utils/getHname.d.ts +1 -0
- package/dist/cjs/utils/getHname.js +30 -0
- package/dist/cjs/utils/getHname.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +19 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/cjs/vite-env.d.js +2 -0
- package/dist/cjs/vite-env.d.js.map +7 -0
- package/dist/esm/api/EvmRpcClient.d.ts +7 -0
- package/dist/esm/api/EvmRpcClient.js +37 -0
- package/dist/esm/api/EvmRpcClient.js.map +7 -0
- package/dist/esm/api/index.d.ts +1 -0
- package/dist/esm/api/index.js +2 -0
- package/dist/esm/api/index.js.map +7 -0
- package/dist/esm/bcs.d.ts +944 -0
- package/dist/esm/bcs.js +240 -0
- package/dist/esm/bcs.js.map +7 -0
- package/dist/esm/constants.d.ts +2 -0
- package/dist/esm/constants.js +7 -0
- package/dist/esm/constants.js.map +7 -0
- package/dist/esm/enums/contracts.enums.d.ts +76 -0
- package/dist/esm/enums/contracts.enums.js +93 -0
- package/dist/esm/enums/contracts.enums.js.map +7 -0
- package/dist/esm/enums/index.d.ts +1 -0
- package/dist/esm/enums/index.js +2 -0
- package/dist/esm/enums/index.js.map +7 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/isc.d.ts +26 -0
- package/dist/esm/isc.js +200 -0
- package/dist/esm/isc.js.map +7 -0
- package/dist/esm/move_bcs.d.ts +124 -0
- package/dist/esm/move_bcs.js +50 -0
- package/dist/esm/move_bcs.js.map +7 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/transaction.d.ts +168 -0
- package/dist/esm/transaction.js +298 -0
- package/dist/esm/transaction.js.map +7 -0
- package/dist/esm/types/assetsResponse.d.ts +37 -0
- package/dist/esm/types/assetsResponse.js +14 -0
- package/dist/esm/types/assetsResponse.js.map +7 -0
- package/dist/esm/types/chainData.d.ts +12 -0
- package/dist/esm/types/chainData.js +9 -0
- package/dist/esm/types/chainData.js.map +7 -0
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/index.js.map +7 -0
- package/dist/esm/utils/getHname.d.ts +1 -0
- package/dist/esm/utils/getHname.js +10 -0
- package/dist/esm/utils/getHname.js.map +7 -0
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +7 -0
- package/dist/esm/vite-env.d.js +10 -0
- package/dist/esm/vite-env.d.js.map +7 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/examples/L1AddressL2funds.ts +72 -0
- package/examples/anchor.ts +72 -0
- package/examples/assetsBag.ts +61 -0
- package/examples/config.ts +81 -0
- package/examples/tokens.ts +96 -0
- package/package.json +57 -0
- package/src/api/EvmRpcClient.ts +48 -0
- package/src/api/index.ts +1 -0
- package/src/bcs.ts +237 -0
- package/src/constants.ts +4 -0
- package/src/enums/contracts.enums.ts +82 -0
- package/src/enums/index.ts +1 -0
- package/src/index.ts +9 -0
- package/src/isc.ts +331 -0
- package/src/move_bcs.ts +47 -0
- package/src/transaction.ts +380 -0
- package/src/types/assetsResponse.ts +13 -0
- package/src/types/chainData.ts +8 -0
- package/src/types/index.ts +2 -0
- package/src/utils/getHname.ts +11 -0
- package/src/utils/index.ts +1 -0
- package/src/vite-env.d.ts +1 -0
- package/tests/L1ToL2Tokens.spec.ts +141 -0
- package/tests/config.ts +81 -0
- package/tests/getHname.spec.ts +78 -0
- package/tests/utils.ts +69 -0
- package/tsconfig.esm.json +7 -0
- package/tsconfig.json +11 -0
- package/vitest.config.ts +10 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
11
|
+
var __export = (target, all) => {
|
|
12
|
+
for (var name in all)
|
|
13
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from))
|
|
18
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
19
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
20
|
+
}
|
|
21
|
+
return to;
|
|
22
|
+
};
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
25
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
26
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
27
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
28
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
|
+
mod
|
|
30
|
+
));
|
|
31
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
33
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
34
|
+
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);
|
|
35
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
36
|
+
var transaction_exports = {};
|
|
37
|
+
__export(transaction_exports, {
|
|
38
|
+
IscTransaction: () => IscTransaction
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(transaction_exports);
|
|
41
|
+
var import_transactions = require("@iota/iota-sdk/transactions");
|
|
42
|
+
var isc = __toESM(require("./isc.js"));
|
|
43
|
+
var import_utils = require("@iota/iota-sdk/utils");
|
|
44
|
+
var import_constants = require("./constants.js");
|
|
45
|
+
var _finalized, _transaction, _chainData;
|
|
46
|
+
class IscTransaction {
|
|
47
|
+
constructor(chainData, transaction = new import_transactions.Transaction()) {
|
|
48
|
+
__privateAdd(this, _finalized);
|
|
49
|
+
__privateAdd(this, _transaction);
|
|
50
|
+
__privateAdd(this, _chainData);
|
|
51
|
+
__privateSet(this, _finalized, false);
|
|
52
|
+
__privateSet(this, _transaction, transaction);
|
|
53
|
+
__privateSet(this, _chainData, chainData);
|
|
54
|
+
}
|
|
55
|
+
validateFinalizedStatus() {
|
|
56
|
+
if (__privateGet(this, _finalized)) {
|
|
57
|
+
throw Error("Transaction is built.");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Getter for the IOTA MOVE Transaction.
|
|
62
|
+
*/
|
|
63
|
+
transaction() {
|
|
64
|
+
return __privateGet(this, _transaction);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a bag.
|
|
68
|
+
*/
|
|
69
|
+
newBag() {
|
|
70
|
+
this.validateFinalizedStatus();
|
|
71
|
+
return isc.newBag(__privateGet(this, _transaction), __privateGet(this, _chainData));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get some amount in a coin.
|
|
75
|
+
*/
|
|
76
|
+
coinFromAmount({ amount }) {
|
|
77
|
+
this.validateFinalizedStatus();
|
|
78
|
+
return isc.coinFromAmount(__privateGet(this, _transaction), BigInt(amount));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Place a coin in a bag.
|
|
82
|
+
*
|
|
83
|
+
* **Uses the IOTA Coin Type by default.**
|
|
84
|
+
*/
|
|
85
|
+
placeCoinInBag({
|
|
86
|
+
bag,
|
|
87
|
+
coinType = import_utils.IOTA_TYPE_ARG,
|
|
88
|
+
coin
|
|
89
|
+
}) {
|
|
90
|
+
this.validateFinalizedStatus();
|
|
91
|
+
isc.placeCoinInBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, coinType, coin);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Finally create and send a request calling the given `contractFunction` with `contractArgs` in `contract`
|
|
95
|
+
*/
|
|
96
|
+
createAndSend({
|
|
97
|
+
bag,
|
|
98
|
+
contract,
|
|
99
|
+
contractFunction,
|
|
100
|
+
contractArgs,
|
|
101
|
+
transfers,
|
|
102
|
+
gasBudget = import_constants.L2_FROM_L1_GAS_BUDGET
|
|
103
|
+
}) {
|
|
104
|
+
this.validateFinalizedStatus();
|
|
105
|
+
isc.createAndSendRequest(
|
|
106
|
+
__privateGet(this, _transaction),
|
|
107
|
+
__privateGet(this, _chainData),
|
|
108
|
+
contract,
|
|
109
|
+
contractFunction,
|
|
110
|
+
contractArgs,
|
|
111
|
+
bag,
|
|
112
|
+
transfers,
|
|
113
|
+
gasBudget
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Finally create and send a request calling the given `accountsFunction` in `accountsContract`
|
|
118
|
+
*/
|
|
119
|
+
createAndSendToEvm({
|
|
120
|
+
address,
|
|
121
|
+
accountsContract,
|
|
122
|
+
accountsFunction,
|
|
123
|
+
transfers,
|
|
124
|
+
gasBudget = import_constants.L2_FROM_L1_GAS_BUDGET,
|
|
125
|
+
bag
|
|
126
|
+
}) {
|
|
127
|
+
const agentID = isc.agentIdForEVM(address);
|
|
128
|
+
this.createAndSend({
|
|
129
|
+
bag,
|
|
130
|
+
gasBudget,
|
|
131
|
+
contract: accountsContract,
|
|
132
|
+
contractFunction: accountsFunction,
|
|
133
|
+
contractArgs: [agentID],
|
|
134
|
+
transfers
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Take out the specified amount of coin from the bag.
|
|
139
|
+
*
|
|
140
|
+
* **Uses the IOTA Coin Type by default.**
|
|
141
|
+
*/
|
|
142
|
+
takeCoinBalanceFromBag({
|
|
143
|
+
bag,
|
|
144
|
+
coinType = import_utils.IOTA_TYPE_ARG,
|
|
145
|
+
amount
|
|
146
|
+
}) {
|
|
147
|
+
this.validateFinalizedStatus();
|
|
148
|
+
return isc.takeCoinBalanceFromBag(
|
|
149
|
+
__privateGet(this, _transaction),
|
|
150
|
+
__privateGet(this, _chainData),
|
|
151
|
+
bag,
|
|
152
|
+
coinType,
|
|
153
|
+
amount
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Take out all the coin from the bag.
|
|
158
|
+
*
|
|
159
|
+
* **Uses the IOTA Coin Type by default.**
|
|
160
|
+
*/
|
|
161
|
+
takeAllCoinBalanceFromBag({
|
|
162
|
+
bag,
|
|
163
|
+
coinType = import_utils.IOTA_TYPE_ARG
|
|
164
|
+
}) {
|
|
165
|
+
this.validateFinalizedStatus();
|
|
166
|
+
return isc.takeAllCoinBalanceFromBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, coinType);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Place a coin balance in the bag.
|
|
170
|
+
*
|
|
171
|
+
* **Uses the IOTA Coin Type by default.**
|
|
172
|
+
*/
|
|
173
|
+
placeCoinBalanceInBag({
|
|
174
|
+
bag,
|
|
175
|
+
coinType = import_utils.IOTA_TYPE_ARG,
|
|
176
|
+
balance
|
|
177
|
+
}) {
|
|
178
|
+
this.validateFinalizedStatus();
|
|
179
|
+
isc.placeCoinBalanceInBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, coinType, balance);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Place an asset in the bag.
|
|
183
|
+
*/
|
|
184
|
+
placeAssetInBag({
|
|
185
|
+
bag,
|
|
186
|
+
asset,
|
|
187
|
+
assetType
|
|
188
|
+
}) {
|
|
189
|
+
this.validateFinalizedStatus();
|
|
190
|
+
isc.placeAssetInBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, assetType, asset);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Take an asset from a bag.
|
|
194
|
+
*/
|
|
195
|
+
takeAssetFromBag({
|
|
196
|
+
bag,
|
|
197
|
+
assetType,
|
|
198
|
+
asset
|
|
199
|
+
}) {
|
|
200
|
+
this.validateFinalizedStatus();
|
|
201
|
+
isc.takeAssetFromBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag, assetType, asset);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Get the size of the bag.
|
|
205
|
+
*/
|
|
206
|
+
getSizeOfBag({ bag }) {
|
|
207
|
+
this.validateFinalizedStatus();
|
|
208
|
+
return isc.getSizeOfBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Destroy the bag.
|
|
212
|
+
*/
|
|
213
|
+
destroyBag({ bag }) {
|
|
214
|
+
this.validateFinalizedStatus();
|
|
215
|
+
return isc.destroyBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag);
|
|
216
|
+
}
|
|
217
|
+
startNewChain({ metadata, coin }) {
|
|
218
|
+
this.validateFinalizedStatus();
|
|
219
|
+
return isc.startNewChain(__privateGet(this, _transaction), __privateGet(this, _chainData), metadata, coin);
|
|
220
|
+
}
|
|
221
|
+
createAnchorWithAssetBag({ bag }) {
|
|
222
|
+
this.validateFinalizedStatus();
|
|
223
|
+
return isc.createAnchorWithAssetBag(__privateGet(this, _transaction), __privateGet(this, _chainData), bag);
|
|
224
|
+
}
|
|
225
|
+
updateAnchorStateForMigraton({
|
|
226
|
+
anchor,
|
|
227
|
+
metadata,
|
|
228
|
+
stateIndex
|
|
229
|
+
}) {
|
|
230
|
+
this.validateFinalizedStatus();
|
|
231
|
+
return isc.updateAnchorStateForMigraton(
|
|
232
|
+
__privateGet(this, _transaction),
|
|
233
|
+
__privateGet(this, _chainData),
|
|
234
|
+
anchor,
|
|
235
|
+
metadata,
|
|
236
|
+
stateIndex
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
destroyAnchor({ anchor }) {
|
|
240
|
+
this.validateFinalizedStatus();
|
|
241
|
+
return isc.destroyAnchor(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor);
|
|
242
|
+
}
|
|
243
|
+
borrowAssets({ anchor }) {
|
|
244
|
+
this.validateFinalizedStatus();
|
|
245
|
+
return isc.borrowAssets(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor);
|
|
246
|
+
}
|
|
247
|
+
returnAssetsFromBorrow({
|
|
248
|
+
anchor,
|
|
249
|
+
bag,
|
|
250
|
+
borrow
|
|
251
|
+
}) {
|
|
252
|
+
this.validateFinalizedStatus();
|
|
253
|
+
return isc.returnAssetsFromBorrow(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor, bag, borrow);
|
|
254
|
+
}
|
|
255
|
+
receiveRequest({ anchor, request }) {
|
|
256
|
+
this.validateFinalizedStatus();
|
|
257
|
+
return isc.receiveRequest(__privateGet(this, _transaction), __privateGet(this, _chainData), anchor, request);
|
|
258
|
+
}
|
|
259
|
+
transition({
|
|
260
|
+
anchor,
|
|
261
|
+
newStateMetadata,
|
|
262
|
+
receipts
|
|
263
|
+
}) {
|
|
264
|
+
this.validateFinalizedStatus();
|
|
265
|
+
return isc.transition(
|
|
266
|
+
__privateGet(this, _transaction),
|
|
267
|
+
__privateGet(this, _chainData),
|
|
268
|
+
anchor,
|
|
269
|
+
newStateMetadata,
|
|
270
|
+
receipts
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
placeCoinForMigration({
|
|
274
|
+
anchor,
|
|
275
|
+
coinType = import_utils.IOTA_TYPE_ARG,
|
|
276
|
+
coin
|
|
277
|
+
}) {
|
|
278
|
+
this.validateFinalizedStatus();
|
|
279
|
+
return isc.placeCoinForMigration(
|
|
280
|
+
__privateGet(this, _transaction),
|
|
281
|
+
__privateGet(this, _chainData),
|
|
282
|
+
anchor,
|
|
283
|
+
coinType,
|
|
284
|
+
coin
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
placeCoinBalanceForMigration({
|
|
288
|
+
anchor,
|
|
289
|
+
coinType = import_utils.IOTA_TYPE_ARG,
|
|
290
|
+
balance
|
|
291
|
+
}) {
|
|
292
|
+
this.validateFinalizedStatus();
|
|
293
|
+
return isc.placeCoinBalanceForMigration(
|
|
294
|
+
__privateGet(this, _transaction),
|
|
295
|
+
__privateGet(this, _chainData),
|
|
296
|
+
anchor,
|
|
297
|
+
coinType,
|
|
298
|
+
balance
|
|
299
|
+
);
|
|
300
|
+
}
|
|
301
|
+
placeAssetForMigration({
|
|
302
|
+
anchor,
|
|
303
|
+
assetType,
|
|
304
|
+
asset
|
|
305
|
+
}) {
|
|
306
|
+
this.validateFinalizedStatus();
|
|
307
|
+
return isc.placeAssetForMigration(
|
|
308
|
+
__privateGet(this, _transaction),
|
|
309
|
+
__privateGet(this, _chainData),
|
|
310
|
+
anchor,
|
|
311
|
+
assetType,
|
|
312
|
+
asset
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Stop building this ISC Transaction and return the IOTA MOVE Transaction.
|
|
317
|
+
* @returns IOTA MOVE Transaction.
|
|
318
|
+
*/
|
|
319
|
+
build() {
|
|
320
|
+
this.validateFinalizedStatus();
|
|
321
|
+
__privateSet(this, _finalized, true);
|
|
322
|
+
return __privateGet(this, _transaction);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
_finalized = new WeakMap();
|
|
326
|
+
_transaction = new WeakMap();
|
|
327
|
+
_chainData = new WeakMap();
|
|
328
|
+
//# 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,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var assetsResponse_exports = {};
|
|
20
|
+
__export(assetsResponse_exports, {
|
|
21
|
+
AssetsResponseSchema: () => AssetsResponseSchema,
|
|
22
|
+
CoinJSONSchema: () => CoinJSONSchema
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(assetsResponse_exports);
|
|
25
|
+
var import_zod = require("zod");
|
|
26
|
+
const CoinJSONSchema = import_zod.z.object({
|
|
27
|
+
balance: import_zod.z.string(),
|
|
28
|
+
coinType: import_zod.z.string()
|
|
29
|
+
});
|
|
30
|
+
const AssetsResponseSchema = import_zod.z.object({
|
|
31
|
+
baseTokens: import_zod.z.string(),
|
|
32
|
+
nativeTokens: import_zod.z.array(CoinJSONSchema)
|
|
33
|
+
});
|
|
34
|
+
//# 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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,iBAAiB,aAAE,OAAO;AAAA,EACnC,SAAS,aAAE,OAAO;AAAA,EAClB,UAAU,aAAE,OAAO;AACvB,CAAC;AAEM,MAAM,uBAAuB,aAAE,OAAO;AAAA,EACzC,YAAY,aAAE,OAAO;AAAA,EACrB,cAAc,aAAE,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,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chainData_exports = {};
|
|
20
|
+
__export(chainData_exports, {
|
|
21
|
+
ChainDataSchema: () => ChainDataSchema
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chainData_exports);
|
|
24
|
+
var import_zod = require("zod");
|
|
25
|
+
const ChainDataSchema = import_zod.z.object({
|
|
26
|
+
packageId: import_zod.z.string(),
|
|
27
|
+
chainId: import_zod.z.string()
|
|
28
|
+
});
|
|
29
|
+
//# 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;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,kBAAkB,aAAE,OAAO;AAAA,EACpC,WAAW,aAAE,OAAO;AAAA,EACpB,SAAS,aAAE,OAAO;AACtB,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var types_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(types_exports);
|
|
18
|
+
__reExport(types_exports, require("./assetsResponse.js"), module.exports);
|
|
19
|
+
__reExport(types_exports, require("./chainData.js"), module.exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getHname(input: string): number;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var getHname_exports = {};
|
|
20
|
+
__export(getHname_exports, {
|
|
21
|
+
getHname: () => getHname
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(getHname_exports);
|
|
24
|
+
var import_blake2 = require("@noble/hashes/blake2");
|
|
25
|
+
function getHname(input) {
|
|
26
|
+
const hash = (0, import_blake2.blake2b)(new TextEncoder().encode(input), { dkLen: 32 });
|
|
27
|
+
const value = hash[0] | hash[1] << 8 | hash[2] << 16 | hash[3] << 24;
|
|
28
|
+
return Number("0x" + (value >>> 0).toString(16).padStart(8, "0"));
|
|
29
|
+
}
|
|
30
|
+
//# 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;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAwB;AAEjB,SAAS,SAAS,OAAuB;AAE5C,QAAM,WAAO,uBAAQ,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,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var utils_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(utils_exports);
|
|
18
|
+
__reExport(utils_exports, require("./getHname.js"), module.exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
class EvmRpcClient {
|
|
2
|
+
constructor(baseUrl) {
|
|
3
|
+
this.getBalanceBaseToken = async (address) => {
|
|
4
|
+
return this.request(`/v1/chain/core/accounts/account/${address}/balance`);
|
|
5
|
+
};
|
|
6
|
+
if (!baseUrl) {
|
|
7
|
+
throw new Error("Base URL for EVM rpc is required.");
|
|
8
|
+
}
|
|
9
|
+
this.baseUrl = baseUrl.replace(/\/$/, "");
|
|
10
|
+
}
|
|
11
|
+
async request(endpoint, options, params) {
|
|
12
|
+
const url = new URL(`${this.baseUrl}${endpoint}`);
|
|
13
|
+
if (params) {
|
|
14
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
15
|
+
if (value !== void 0) {
|
|
16
|
+
url.searchParams.append(key, value.toString());
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const response = await fetch(url, {
|
|
21
|
+
...options ?? {},
|
|
22
|
+
headers: {
|
|
23
|
+
"Content-Type": "application/json",
|
|
24
|
+
...options?.headers || {}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
const errorText = await response.text();
|
|
29
|
+
throw new Error(`API Error: ${response.status} ${response.statusText} - ${errorText}`);
|
|
30
|
+
}
|
|
31
|
+
return response.json();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
EvmRpcClient
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=EvmRpcClient.js.map
|