@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
package/dist/esm/isc.js
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { bcs } from "@iota/iota-sdk/bcs";
|
|
2
|
+
import { IscAgentID, IscAssets } from "./bcs.js";
|
|
3
|
+
function newBag(tx, { packageId }) {
|
|
4
|
+
const assetsBag = tx.moveCall({
|
|
5
|
+
target: `${packageId}::assets_bag::new`,
|
|
6
|
+
arguments: []
|
|
7
|
+
});
|
|
8
|
+
return assetsBag;
|
|
9
|
+
}
|
|
10
|
+
function coinFromAmount(tx, amount) {
|
|
11
|
+
const [splitCoin] = tx.splitCoins(tx.gas, [tx.pure(bcs.U64.serialize(amount))]);
|
|
12
|
+
return splitCoin;
|
|
13
|
+
}
|
|
14
|
+
function placeCoinInBag(tx, { packageId }, assetsBag, coinType, coin) {
|
|
15
|
+
tx.moveCall({
|
|
16
|
+
target: `${packageId}::assets_bag::place_coin`,
|
|
17
|
+
typeArguments: [coinType],
|
|
18
|
+
arguments: [tx.object(assetsBag), tx.object(coin)]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function agentIdForEVM(address) {
|
|
22
|
+
const agentID = IscAgentID.serialize({
|
|
23
|
+
EthereumAddressAgentID: {
|
|
24
|
+
eth: bcs.fixedArray(20, bcs.u8()).fromHex(address)
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return agentID.toBytes();
|
|
28
|
+
}
|
|
29
|
+
function createAndSendRequest(tx, { packageId, chainId }, contract, contractFunction, contractArgs, assetsBag, transfers, gasBudget) {
|
|
30
|
+
const allowance = IscAssets.serialize({
|
|
31
|
+
coins: new Map(transfers.map(([coinType, amount]) => [coinType, Number(amount)])),
|
|
32
|
+
objects: /* @__PURE__ */ new Map()
|
|
33
|
+
// Add objects here. Provide their ID as BCS encoded bytes *and* the _object type_ as string.
|
|
34
|
+
});
|
|
35
|
+
tx.moveCall({
|
|
36
|
+
target: `${packageId}::request::create_and_send_request`,
|
|
37
|
+
arguments: [
|
|
38
|
+
tx.pure(bcs.Address.serialize(chainId)),
|
|
39
|
+
tx.object(assetsBag),
|
|
40
|
+
tx.pure(bcs.U32.serialize(contract)),
|
|
41
|
+
tx.pure(bcs.U32.serialize(contractFunction)),
|
|
42
|
+
tx.pure(bcs.vector(bcs.vector(bcs.u8())).serialize(contractArgs)),
|
|
43
|
+
tx.pure(bcs.vector(bcs.u8()).serialize(allowance.toBytes())),
|
|
44
|
+
tx.pure(bcs.U64.serialize(gasBudget))
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function takeCoinBalanceFromBag(tx, { packageId }, assetsBag, coinType, amount) {
|
|
49
|
+
return tx.moveCall({
|
|
50
|
+
target: `${packageId}::assets_bag::take_coin_balance`,
|
|
51
|
+
typeArguments: [coinType],
|
|
52
|
+
arguments: [tx.object(assetsBag), tx.pure(bcs.U64.serialize(amount))]
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function takeAllCoinBalanceFromBag(tx, { packageId }, assetsBag, coinType) {
|
|
56
|
+
return tx.moveCall({
|
|
57
|
+
target: `${packageId}::assets_bag::take_all_coin_balance`,
|
|
58
|
+
typeArguments: [coinType],
|
|
59
|
+
arguments: [tx.object(assetsBag)]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function placeCoinBalanceInBag(tx, { packageId }, assetsBag, coinType, balance) {
|
|
63
|
+
tx.moveCall({
|
|
64
|
+
target: `${packageId}::assets_bag::place_coin_balance`,
|
|
65
|
+
typeArguments: [coinType],
|
|
66
|
+
arguments: [tx.object(assetsBag), tx.object(balance)]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function placeAssetInBag(tx, { packageId }, assetsBag, assetType, asset) {
|
|
70
|
+
tx.moveCall({
|
|
71
|
+
target: `${packageId}::assets_bag::place_asset`,
|
|
72
|
+
typeArguments: [assetType],
|
|
73
|
+
arguments: [tx.object(assetsBag), tx.object(asset)]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function takeAssetFromBag(tx, { packageId }, assetsBag, assetType, asset) {
|
|
77
|
+
return tx.moveCall({
|
|
78
|
+
target: `${packageId}::assets_bag::take_asset`,
|
|
79
|
+
typeArguments: [assetType],
|
|
80
|
+
arguments: [tx.object(assetsBag), tx.object(asset)]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function getSizeOfBag(tx, { packageId }, assetsBag) {
|
|
84
|
+
return tx.moveCall({
|
|
85
|
+
target: `${packageId}::assets_bag::get_size`,
|
|
86
|
+
arguments: [tx.object(assetsBag)]
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function destroyBag(tx, { packageId }, assetsBag) {
|
|
90
|
+
return tx.moveCall({
|
|
91
|
+
target: `${packageId}::assets_bag::destroy_empty`,
|
|
92
|
+
arguments: [tx.object(assetsBag)]
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function startNewChain(tx, { packageId }, metadata, coin) {
|
|
96
|
+
return tx.moveCall({
|
|
97
|
+
target: `${packageId}::anchor::start_new_chain`,
|
|
98
|
+
arguments: [
|
|
99
|
+
bcs.vector(bcs.u8()).serialize(metadata),
|
|
100
|
+
coin ? tx.object(coin) : bcs.option(bcs.ObjectArg).serialize(null)
|
|
101
|
+
]
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function createAnchorWithAssetBag(tx, { packageId }, assetsBag) {
|
|
105
|
+
return tx.moveCall({
|
|
106
|
+
target: `${packageId}::anchor::create_anchor_with_assets_bag_ref`,
|
|
107
|
+
arguments: [tx.object(assetsBag)]
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function updateAnchorStateForMigraton(tx, { packageId }, anchor, metadata, stateIndex) {
|
|
111
|
+
return tx.moveCall({
|
|
112
|
+
target: `${packageId}::anchor::update_anchor_state_for_migration`,
|
|
113
|
+
arguments: [
|
|
114
|
+
tx.object(anchor),
|
|
115
|
+
bcs.vector(bcs.u8()).serialize(metadata),
|
|
116
|
+
bcs.u32().serialize(stateIndex)
|
|
117
|
+
]
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function destroyAnchor(tx, { packageId }, anchor) {
|
|
121
|
+
return tx.moveCall({
|
|
122
|
+
target: `${packageId}::anchor::destroy`,
|
|
123
|
+
arguments: [tx.object(anchor)]
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function borrowAssets(tx, { packageId }, anchor) {
|
|
127
|
+
return tx.moveCall({
|
|
128
|
+
target: `${packageId}::anchor::borrow_assets`,
|
|
129
|
+
arguments: [tx.object(anchor)]
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function returnAssetsFromBorrow(tx, { packageId }, anchor, assetsBag, borrow) {
|
|
133
|
+
return tx.moveCall({
|
|
134
|
+
target: `${packageId}::anchor::return_assets_from_borrow`,
|
|
135
|
+
arguments: [tx.object(anchor), tx.object(assetsBag), tx.object(borrow)]
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function receiveRequest(tx, { packageId }, anchor, request) {
|
|
139
|
+
return tx.moveCall({
|
|
140
|
+
target: `${packageId}::anchor::receive_request`,
|
|
141
|
+
arguments: [tx.object(anchor), tx.object(request)]
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
function transition(tx, { packageId }, anchor, newStateMetadata, receipts) {
|
|
145
|
+
return tx.moveCall({
|
|
146
|
+
target: `${packageId}::anchor::transition`,
|
|
147
|
+
arguments: [
|
|
148
|
+
tx.object(anchor),
|
|
149
|
+
bcs.vector(bcs.u8()).serialize(newStateMetadata),
|
|
150
|
+
tx.object(receipts)
|
|
151
|
+
]
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function placeCoinForMigration(tx, { packageId }, anchor, coinType, coin) {
|
|
155
|
+
return tx.moveCall({
|
|
156
|
+
target: `${packageId}::anchor::place_coin_for_migration`,
|
|
157
|
+
typeArguments: [coinType],
|
|
158
|
+
arguments: [tx.object(anchor), tx.object(coin)]
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
function placeCoinBalanceForMigration(tx, { packageId }, anchor, coinType, balance) {
|
|
162
|
+
return tx.moveCall({
|
|
163
|
+
target: `${packageId}::anchor::place_coin_balance_for_migration`,
|
|
164
|
+
typeArguments: [coinType],
|
|
165
|
+
arguments: [tx.object(anchor), tx.object(balance)]
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
function placeAssetForMigration(tx, { packageId }, anchor, assetType, asset) {
|
|
169
|
+
return tx.moveCall({
|
|
170
|
+
target: `${packageId}::anchor::place_asset_for_migration`,
|
|
171
|
+
typeArguments: [assetType],
|
|
172
|
+
arguments: [tx.object(anchor), tx.object(asset)]
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
export {
|
|
176
|
+
agentIdForEVM,
|
|
177
|
+
borrowAssets,
|
|
178
|
+
coinFromAmount,
|
|
179
|
+
createAnchorWithAssetBag,
|
|
180
|
+
createAndSendRequest,
|
|
181
|
+
destroyAnchor,
|
|
182
|
+
destroyBag,
|
|
183
|
+
getSizeOfBag,
|
|
184
|
+
newBag,
|
|
185
|
+
placeAssetForMigration,
|
|
186
|
+
placeAssetInBag,
|
|
187
|
+
placeCoinBalanceForMigration,
|
|
188
|
+
placeCoinBalanceInBag,
|
|
189
|
+
placeCoinForMigration,
|
|
190
|
+
placeCoinInBag,
|
|
191
|
+
receiveRequest,
|
|
192
|
+
returnAssetsFromBorrow,
|
|
193
|
+
startNewChain,
|
|
194
|
+
takeAllCoinBalanceFromBag,
|
|
195
|
+
takeAssetFromBag,
|
|
196
|
+
takeCoinBalanceFromBag,
|
|
197
|
+
transition,
|
|
198
|
+
updateAnchorStateForMigraton
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=isc.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/isc.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Transaction, TransactionObjectArgument } from '@iota/iota-sdk/transactions';\nimport type { ChainData } from './types/index.js';\nimport { bcs } from '@iota/iota-sdk/bcs';\nimport { IscAgentID, IscAssets } from './bcs.js';\n\nexport type ObjectArgument = string | TransactionObjectArgument;\n\nexport function newBag(tx: Transaction, { packageId }: ChainData): TransactionObjectArgument {\n // Create a new empty AssetsBag. It will be used to attach coin/objects to the request\n const assetsBag = tx.moveCall({\n target: `${packageId}::assets_bag::new`,\n arguments: [],\n });\n\n return assetsBag;\n}\n\nexport function coinFromAmount(tx: Transaction, amount: bigint): TransactionObjectArgument {\n // Split the senders Gas coin so we have a coin to transfer\n const [splitCoin] = tx.splitCoins(tx.gas, [tx.pure(bcs.U64.serialize(amount))]);\n\n return splitCoin;\n}\n\nexport function placeCoinInBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n coinType: string,\n coin: ObjectArgument,\n) {\n tx.moveCall({\n target: `${packageId}::assets_bag::place_coin`,\n typeArguments: [coinType],\n arguments: [tx.object(assetsBag), tx.object(coin)],\n });\n}\n\nexport function agentIdForEVM(address: string): Uint8Array {\n const agentID = IscAgentID.serialize({\n EthereumAddressAgentID: {\n eth: bcs.fixedArray(20, bcs.u8()).fromHex(address),\n },\n });\n\n return agentID.toBytes();\n}\n\nexport function createAndSendRequest(\n tx: Transaction,\n { packageId, chainId }: ChainData,\n contract: number,\n contractFunction: number,\n contractArgs: Uint8Array[],\n assetsBag: ObjectArgument,\n transfers: Array<[string, number | bigint]>,\n gasBudget: number | bigint,\n) {\n // Encodes the allowance.\n // coins: map[coinType(string): balance(u64)]\n // objects: map[objectID(bytes32): objectType(string)]\n //\n // Example:\n // {\n // coins: {\n // \"0x02::iota::IOTA\": 1074\n // },\n // objects: {\n // fromHex('0x629aeef09ab0874db9b9d9dbf8098ef9e1d4f466ca7569c4ad18d1db4b0e9e7b'): \"0xca99629453167d3c4d754ac11d23132a510094addb344cbaea306483a72658c2::anchor::Anchor\"\n // }\n // }\n const allowance = IscAssets.serialize({\n coins: new Map(transfers.map(([coinType, amount]) => [coinType, Number(amount)])),\n objects: new Map(), // Add objects here. Provide their ID as BCS encoded bytes *and* the _object type_ as string.\n });\n\n // Execute requests::create_and_send_request.\n // This creates the Request Move object and sends it to the Anchor object of the Chain (ChainID == Anchor Object ID)\n tx.moveCall({\n target: `${packageId}::request::create_and_send_request`,\n arguments: [\n tx.pure(bcs.Address.serialize(chainId)),\n tx.object(assetsBag),\n tx.pure(bcs.U32.serialize(contract)),\n tx.pure(bcs.U32.serialize(contractFunction)),\n tx.pure(bcs.vector(bcs.vector(bcs.u8())).serialize(contractArgs)),\n tx.pure(bcs.vector(bcs.u8()).serialize(allowance.toBytes())),\n tx.pure(bcs.U64.serialize(gasBudget)),\n ],\n });\n}\n\nexport function takeCoinBalanceFromBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n coinType: string,\n amount: number | bigint,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::assets_bag::take_coin_balance`,\n typeArguments: [coinType],\n arguments: [tx.object(assetsBag), tx.pure(bcs.U64.serialize(amount))],\n });\n}\n\nexport function takeAllCoinBalanceFromBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n coinType: string,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::assets_bag::take_all_coin_balance`,\n typeArguments: [coinType],\n arguments: [tx.object(assetsBag)],\n });\n}\n\nexport function placeCoinBalanceInBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n coinType: string,\n balance: ObjectArgument,\n) {\n tx.moveCall({\n target: `${packageId}::assets_bag::place_coin_balance`,\n typeArguments: [coinType],\n arguments: [tx.object(assetsBag), tx.object(balance)],\n });\n}\n\nexport function placeAssetInBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n assetType: string,\n asset: ObjectArgument,\n) {\n tx.moveCall({\n target: `${packageId}::assets_bag::place_asset`,\n typeArguments: [assetType],\n arguments: [tx.object(assetsBag), tx.object(asset)],\n });\n}\n\nexport function takeAssetFromBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n assetType: string,\n asset: ObjectArgument,\n) {\n return tx.moveCall({\n target: `${packageId}::assets_bag::take_asset`,\n typeArguments: [assetType],\n arguments: [tx.object(assetsBag), tx.object(asset)],\n });\n}\n\nexport function getSizeOfBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::assets_bag::get_size`,\n arguments: [tx.object(assetsBag)],\n });\n}\n\nexport function destroyBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::assets_bag::destroy_empty`,\n arguments: [tx.object(assetsBag)],\n });\n}\n\nexport function startNewChain(\n tx: Transaction,\n { packageId }: ChainData,\n metadata: Uint8Array,\n coin?: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::start_new_chain`,\n arguments: [\n bcs.vector(bcs.u8()).serialize(metadata),\n coin ? tx.object(coin) : bcs.option(bcs.ObjectArg).serialize(null),\n ],\n });\n}\n\nexport function createAnchorWithAssetBag(\n tx: Transaction,\n { packageId }: ChainData,\n assetsBag: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::create_anchor_with_assets_bag_ref`,\n arguments: [tx.object(assetsBag)],\n });\n}\n\nexport function updateAnchorStateForMigraton(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n metadata: Uint8Array,\n stateIndex: number,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::update_anchor_state_for_migration`,\n arguments: [\n tx.object(anchor),\n bcs.vector(bcs.u8()).serialize(metadata),\n bcs.u32().serialize(stateIndex),\n ],\n });\n}\n\nexport function destroyAnchor(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::destroy`,\n arguments: [tx.object(anchor)],\n });\n}\n\nexport function borrowAssets(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::borrow_assets`,\n arguments: [tx.object(anchor)],\n });\n}\n\nexport function returnAssetsFromBorrow(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n assetsBag: ObjectArgument,\n borrow: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::return_assets_from_borrow`,\n arguments: [tx.object(anchor), tx.object(assetsBag), tx.object(borrow)],\n });\n}\n\nexport function receiveRequest(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n request: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::receive_request`,\n arguments: [tx.object(anchor), tx.object(request)],\n });\n}\n\nexport function transition(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n newStateMetadata: Uint8Array,\n receipts: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::transition`,\n arguments: [\n tx.object(anchor),\n bcs.vector(bcs.u8()).serialize(newStateMetadata),\n tx.object(receipts),\n ],\n });\n}\n\nexport function placeCoinForMigration(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n coinType: string,\n coin: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::place_coin_for_migration`,\n typeArguments: [coinType],\n arguments: [tx.object(anchor), tx.object(coin)],\n });\n}\n\nexport function placeCoinBalanceForMigration(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n coinType: string,\n balance: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::place_coin_balance_for_migration`,\n typeArguments: [coinType],\n arguments: [tx.object(anchor), tx.object(balance)],\n });\n}\n\nexport function placeAssetForMigration(\n tx: Transaction,\n { packageId }: ChainData,\n anchor: ObjectArgument,\n assetType: string,\n asset: ObjectArgument,\n): TransactionObjectArgument {\n return tx.moveCall({\n target: `${packageId}::anchor::place_asset_for_migration`,\n typeArguments: [assetType],\n arguments: [tx.object(anchor), tx.object(asset)],\n });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export declare const Receipt: import("@iota/iota-sdk/bcs").BcsType<{
|
|
2
|
+
RequestID: string;
|
|
3
|
+
}, {
|
|
4
|
+
RequestID: string | Uint8Array<ArrayBufferLike>;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const AssetsBag: import("@iota/iota-sdk/bcs").BcsType<{
|
|
7
|
+
ID: string;
|
|
8
|
+
Size: string;
|
|
9
|
+
}, {
|
|
10
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
11
|
+
Size: string | number | bigint;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const ReferentAssetsBag: import("@iota/iota-sdk/bcs").BcsType<{
|
|
14
|
+
ID: string;
|
|
15
|
+
Value: {
|
|
16
|
+
ID: string;
|
|
17
|
+
Size: string;
|
|
18
|
+
} | null;
|
|
19
|
+
}, {
|
|
20
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
21
|
+
Value: {
|
|
22
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
23
|
+
Size: string | number | bigint;
|
|
24
|
+
} | null | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const Anchor: import("@iota/iota-sdk/bcs").BcsType<{
|
|
27
|
+
UID: string;
|
|
28
|
+
Assets: {
|
|
29
|
+
ID: string;
|
|
30
|
+
Value: {
|
|
31
|
+
ID: string;
|
|
32
|
+
Size: string;
|
|
33
|
+
} | null;
|
|
34
|
+
};
|
|
35
|
+
StateMetadata: number[];
|
|
36
|
+
StateIndex: number;
|
|
37
|
+
}, {
|
|
38
|
+
UID: string | Uint8Array<ArrayBufferLike>;
|
|
39
|
+
Assets: {
|
|
40
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
41
|
+
Value: {
|
|
42
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
43
|
+
Size: string | number | bigint;
|
|
44
|
+
} | null | undefined;
|
|
45
|
+
};
|
|
46
|
+
StateMetadata: Iterable<number> & {
|
|
47
|
+
length: number;
|
|
48
|
+
};
|
|
49
|
+
StateIndex: number;
|
|
50
|
+
}>;
|
|
51
|
+
export declare const Message: import("@iota/iota-sdk/bcs").BcsType<{
|
|
52
|
+
Contract: number;
|
|
53
|
+
Function: number;
|
|
54
|
+
Args: number[][];
|
|
55
|
+
}, {
|
|
56
|
+
Contract: number;
|
|
57
|
+
Function: number;
|
|
58
|
+
Args: Iterable<Iterable<number> & {
|
|
59
|
+
length: number;
|
|
60
|
+
}> & {
|
|
61
|
+
length: number;
|
|
62
|
+
};
|
|
63
|
+
}>;
|
|
64
|
+
export declare const CoinAllowance: import("@iota/iota-sdk/bcs").BcsType<{
|
|
65
|
+
CoinType: string;
|
|
66
|
+
Balance: string;
|
|
67
|
+
}, {
|
|
68
|
+
CoinType: string;
|
|
69
|
+
Balance: string | number | bigint;
|
|
70
|
+
}>;
|
|
71
|
+
export declare const Request: import("@iota/iota-sdk/bcs").BcsType<{
|
|
72
|
+
UID: string;
|
|
73
|
+
Sender: string;
|
|
74
|
+
AssetsBag: {
|
|
75
|
+
ID: string;
|
|
76
|
+
Value: {
|
|
77
|
+
ID: string;
|
|
78
|
+
Size: string;
|
|
79
|
+
} | null;
|
|
80
|
+
};
|
|
81
|
+
Message: {
|
|
82
|
+
Contract: number;
|
|
83
|
+
Function: number;
|
|
84
|
+
Args: number[][];
|
|
85
|
+
};
|
|
86
|
+
Allowance: {
|
|
87
|
+
CoinType: string;
|
|
88
|
+
Balance: string;
|
|
89
|
+
}[];
|
|
90
|
+
GasBudget: string;
|
|
91
|
+
}, {
|
|
92
|
+
UID: string | Uint8Array<ArrayBufferLike>;
|
|
93
|
+
Sender: string | Uint8Array<ArrayBufferLike>;
|
|
94
|
+
AssetsBag: {
|
|
95
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
96
|
+
Value: {
|
|
97
|
+
ID: string | Uint8Array<ArrayBufferLike>;
|
|
98
|
+
Size: string | number | bigint;
|
|
99
|
+
} | null | undefined;
|
|
100
|
+
};
|
|
101
|
+
Message: {
|
|
102
|
+
Contract: number;
|
|
103
|
+
Function: number;
|
|
104
|
+
Args: Iterable<Iterable<number> & {
|
|
105
|
+
length: number;
|
|
106
|
+
}> & {
|
|
107
|
+
length: number;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
Allowance: Iterable<{
|
|
111
|
+
CoinType: string;
|
|
112
|
+
Balance: string | number | bigint;
|
|
113
|
+
}> & {
|
|
114
|
+
length: number;
|
|
115
|
+
};
|
|
116
|
+
GasBudget: string | number | bigint;
|
|
117
|
+
}>;
|
|
118
|
+
export declare const RequestEvent: import("@iota/iota-sdk/bcs").BcsType<{
|
|
119
|
+
RequestID: string;
|
|
120
|
+
Anchor: string;
|
|
121
|
+
}, {
|
|
122
|
+
RequestID: string | Uint8Array<ArrayBufferLike>;
|
|
123
|
+
Anchor: string | Uint8Array<ArrayBufferLike>;
|
|
124
|
+
}>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { bcs } from "@iota/iota-sdk/bcs";
|
|
2
|
+
const Receipt = bcs.struct("Receipt", {
|
|
3
|
+
RequestID: bcs.Address
|
|
4
|
+
});
|
|
5
|
+
const AssetsBag = bcs.struct("AssetsBag", {
|
|
6
|
+
ID: bcs.Address,
|
|
7
|
+
Size: bcs.u64()
|
|
8
|
+
});
|
|
9
|
+
const ReferentAssetsBag = bcs.struct("ReferentAssetsBag", {
|
|
10
|
+
ID: bcs.Address,
|
|
11
|
+
Value: bcs.option(AssetsBag)
|
|
12
|
+
});
|
|
13
|
+
const Anchor = bcs.struct("Anchor", {
|
|
14
|
+
UID: bcs.Address,
|
|
15
|
+
Assets: ReferentAssetsBag,
|
|
16
|
+
StateMetadata: bcs.vector(bcs.u8()),
|
|
17
|
+
StateIndex: bcs.u32()
|
|
18
|
+
});
|
|
19
|
+
const Message = bcs.struct("Message", {
|
|
20
|
+
Contract: bcs.u32(),
|
|
21
|
+
Function: bcs.u32(),
|
|
22
|
+
Args: bcs.vector(bcs.vector(bcs.u8()))
|
|
23
|
+
});
|
|
24
|
+
const CoinAllowance = bcs.struct("CoinAllowance", {
|
|
25
|
+
CoinType: bcs.string(),
|
|
26
|
+
Balance: bcs.u64()
|
|
27
|
+
});
|
|
28
|
+
const Request = bcs.struct("Request", {
|
|
29
|
+
UID: bcs.Address,
|
|
30
|
+
Sender: bcs.Address,
|
|
31
|
+
AssetsBag: ReferentAssetsBag,
|
|
32
|
+
Message,
|
|
33
|
+
Allowance: bcs.vector(CoinAllowance),
|
|
34
|
+
GasBudget: bcs.u64()
|
|
35
|
+
});
|
|
36
|
+
const RequestEvent = bcs.struct("RequestEvent", {
|
|
37
|
+
RequestID: bcs.Address,
|
|
38
|
+
Anchor: bcs.Address
|
|
39
|
+
});
|
|
40
|
+
export {
|
|
41
|
+
Anchor,
|
|
42
|
+
AssetsBag,
|
|
43
|
+
CoinAllowance,
|
|
44
|
+
Message,
|
|
45
|
+
Receipt,
|
|
46
|
+
ReferentAssetsBag,
|
|
47
|
+
Request,
|
|
48
|
+
RequestEvent
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=move_bcs.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/move_bcs.ts"],
|
|
4
|
+
"sourcesContent": ["import { bcs } from '@iota/iota-sdk/bcs';\n\nexport const Receipt = bcs.struct('Receipt', {\n RequestID: bcs.Address,\n});\n\nexport const AssetsBag = bcs.struct('AssetsBag', {\n ID: bcs.Address,\n Size: bcs.u64(),\n});\n\nexport const ReferentAssetsBag = bcs.struct('ReferentAssetsBag', {\n ID: bcs.Address,\n Value: bcs.option(AssetsBag),\n});\n\nexport const Anchor = bcs.struct('Anchor', {\n UID: bcs.Address,\n Assets: ReferentAssetsBag,\n StateMetadata: bcs.vector(bcs.u8()),\n StateIndex: bcs.u32(),\n});\n\nexport const Message = bcs.struct('Message', {\n Contract: bcs.u32(),\n Function: bcs.u32(),\n Args: bcs.vector(bcs.vector(bcs.u8())),\n});\n\nexport const CoinAllowance = bcs.struct('CoinAllowance', {\n CoinType: bcs.string(),\n Balance: bcs.u64(),\n});\n\nexport const Request = bcs.struct('Request', {\n UID: bcs.Address,\n Sender: bcs.Address,\n AssetsBag: ReferentAssetsBag,\n Message: Message,\n Allowance: bcs.vector(CoinAllowance),\n GasBudget: bcs.u64(),\n});\n\nexport const RequestEvent = bcs.struct('RequestEvent', {\n RequestID: bcs.Address,\n Anchor: bcs.Address,\n});\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,WAAW;AAEb,MAAM,UAAU,IAAI,OAAO,WAAW;AAAA,EACzC,WAAW,IAAI;AACnB,CAAC;AAEM,MAAM,YAAY,IAAI,OAAO,aAAa;AAAA,EAC7C,IAAI,IAAI;AAAA,EACR,MAAM,IAAI,IAAI;AAClB,CAAC;AAEM,MAAM,oBAAoB,IAAI,OAAO,qBAAqB;AAAA,EAC7D,IAAI,IAAI;AAAA,EACR,OAAO,IAAI,OAAO,SAAS;AAC/B,CAAC;AAEM,MAAM,SAAS,IAAI,OAAO,UAAU;AAAA,EACvC,KAAK,IAAI;AAAA,EACT,QAAQ;AAAA,EACR,eAAe,IAAI,OAAO,IAAI,GAAG,CAAC;AAAA,EAClC,YAAY,IAAI,IAAI;AACxB,CAAC;AAEM,MAAM,UAAU,IAAI,OAAO,WAAW;AAAA,EACzC,UAAU,IAAI,IAAI;AAAA,EAClB,UAAU,IAAI,IAAI;AAAA,EAClB,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,GAAG,CAAC,CAAC;AACzC,CAAC;AAEM,MAAM,gBAAgB,IAAI,OAAO,iBAAiB;AAAA,EACrD,UAAU,IAAI,OAAO;AAAA,EACrB,SAAS,IAAI,IAAI;AACrB,CAAC;AAEM,MAAM,UAAU,IAAI,OAAO,WAAW;AAAA,EACzC,KAAK,IAAI;AAAA,EACT,QAAQ,IAAI;AAAA,EACZ,WAAW;AAAA,EACX;AAAA,EACA,WAAW,IAAI,OAAO,aAAa;AAAA,EACnC,WAAW,IAAI,IAAI;AACvB,CAAC;AAEM,MAAM,eAAe,IAAI,OAAO,gBAAgB;AAAA,EACnD,WAAW,IAAI;AAAA,EACf,QAAQ,IAAI;AAChB,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { TransactionObjectArgument } from '@iota/iota-sdk/transactions';
|
|
2
|
+
import { Transaction } from '@iota/iota-sdk/transactions';
|
|
3
|
+
import type { ChainData } from './types/index.js';
|
|
4
|
+
import type { ObjectArgument } from './isc.js';
|
|
5
|
+
export type Agent = {
|
|
6
|
+
type: 'evm';
|
|
7
|
+
address: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class IscTransaction {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(chainData: ChainData, transaction?: Transaction);
|
|
12
|
+
private validateFinalizedStatus;
|
|
13
|
+
/**
|
|
14
|
+
* Getter for the IOTA MOVE Transaction.
|
|
15
|
+
*/
|
|
16
|
+
transaction(): Transaction;
|
|
17
|
+
/**
|
|
18
|
+
* Create a bag.
|
|
19
|
+
*/
|
|
20
|
+
newBag(): TransactionObjectArgument;
|
|
21
|
+
/**
|
|
22
|
+
* Get some amount in a coin.
|
|
23
|
+
*/
|
|
24
|
+
coinFromAmount({ amount }: {
|
|
25
|
+
amount: number | bigint;
|
|
26
|
+
}): TransactionObjectArgument;
|
|
27
|
+
/**
|
|
28
|
+
* Place a coin in a bag.
|
|
29
|
+
*
|
|
30
|
+
* **Uses the IOTA Coin Type by default.**
|
|
31
|
+
*/
|
|
32
|
+
placeCoinInBag({ bag, coinType, coin, }: {
|
|
33
|
+
coin: ObjectArgument;
|
|
34
|
+
coinType?: string;
|
|
35
|
+
bag: TransactionObjectArgument;
|
|
36
|
+
}): void;
|
|
37
|
+
/**
|
|
38
|
+
* Finally create and send a request calling the given `contractFunction` with `contractArgs` in `contract`
|
|
39
|
+
*/
|
|
40
|
+
createAndSend({ bag, contract, contractFunction, contractArgs, transfers, gasBudget, }: {
|
|
41
|
+
contractArgs: Uint8Array[];
|
|
42
|
+
contract: number;
|
|
43
|
+
contractFunction: number;
|
|
44
|
+
transfers: Array<[string, number | bigint]>;
|
|
45
|
+
gasBudget?: number | bigint;
|
|
46
|
+
bag: ObjectArgument;
|
|
47
|
+
}): void;
|
|
48
|
+
/**
|
|
49
|
+
* Finally create and send a request calling the given `accountsFunction` in `accountsContract`
|
|
50
|
+
*/
|
|
51
|
+
createAndSendToEvm({ address, accountsContract, accountsFunction, transfers, gasBudget, bag, }: {
|
|
52
|
+
address: string;
|
|
53
|
+
accountsContract: number;
|
|
54
|
+
accountsFunction: number;
|
|
55
|
+
transfers: Array<[string, number | bigint]>;
|
|
56
|
+
gasBudget?: number | bigint;
|
|
57
|
+
bag: ObjectArgument;
|
|
58
|
+
}): void;
|
|
59
|
+
/**
|
|
60
|
+
* Take out the specified amount of coin from the bag.
|
|
61
|
+
*
|
|
62
|
+
* **Uses the IOTA Coin Type by default.**
|
|
63
|
+
*/
|
|
64
|
+
takeCoinBalanceFromBag({ bag, coinType, amount, }: {
|
|
65
|
+
amount: number | bigint;
|
|
66
|
+
coinType?: string;
|
|
67
|
+
bag: ObjectArgument;
|
|
68
|
+
}): TransactionObjectArgument;
|
|
69
|
+
/**
|
|
70
|
+
* Take out all the coin from the bag.
|
|
71
|
+
*
|
|
72
|
+
* **Uses the IOTA Coin Type by default.**
|
|
73
|
+
*/
|
|
74
|
+
takeAllCoinBalanceFromBag({ bag, coinType, }: {
|
|
75
|
+
bag: ObjectArgument;
|
|
76
|
+
coinType?: string;
|
|
77
|
+
}): TransactionObjectArgument;
|
|
78
|
+
/**
|
|
79
|
+
* Place a coin balance in the bag.
|
|
80
|
+
*
|
|
81
|
+
* **Uses the IOTA Coin Type by default.**
|
|
82
|
+
*/
|
|
83
|
+
placeCoinBalanceInBag({ bag, coinType, balance, }: {
|
|
84
|
+
balance: ObjectArgument;
|
|
85
|
+
coinType?: string;
|
|
86
|
+
bag: ObjectArgument;
|
|
87
|
+
}): void;
|
|
88
|
+
/**
|
|
89
|
+
* Place an asset in the bag.
|
|
90
|
+
*/
|
|
91
|
+
placeAssetInBag({ bag, asset, assetType, }: {
|
|
92
|
+
asset: ObjectArgument;
|
|
93
|
+
bag: ObjectArgument;
|
|
94
|
+
assetType: string;
|
|
95
|
+
}): void;
|
|
96
|
+
/**
|
|
97
|
+
* Take an asset from a bag.
|
|
98
|
+
*/
|
|
99
|
+
takeAssetFromBag({ bag, assetType, asset, }: {
|
|
100
|
+
bag: ObjectArgument;
|
|
101
|
+
assetType: string;
|
|
102
|
+
asset: ObjectArgument;
|
|
103
|
+
}): void;
|
|
104
|
+
/**
|
|
105
|
+
* Get the size of the bag.
|
|
106
|
+
*/
|
|
107
|
+
getSizeOfBag({ bag }: {
|
|
108
|
+
bag: ObjectArgument;
|
|
109
|
+
}): TransactionObjectArgument;
|
|
110
|
+
/**
|
|
111
|
+
* Destroy the bag.
|
|
112
|
+
*/
|
|
113
|
+
destroyBag({ bag }: {
|
|
114
|
+
bag: ObjectArgument;
|
|
115
|
+
}): TransactionObjectArgument;
|
|
116
|
+
startNewChain({ metadata, coin }: {
|
|
117
|
+
metadata: Uint8Array;
|
|
118
|
+
coin?: ObjectArgument;
|
|
119
|
+
}): TransactionObjectArgument;
|
|
120
|
+
createAnchorWithAssetBag({ bag }: {
|
|
121
|
+
bag: ObjectArgument;
|
|
122
|
+
}): TransactionObjectArgument;
|
|
123
|
+
updateAnchorStateForMigraton({ anchor, metadata, stateIndex, }: {
|
|
124
|
+
anchor: ObjectArgument;
|
|
125
|
+
metadata: Uint8Array;
|
|
126
|
+
stateIndex: number;
|
|
127
|
+
}): TransactionObjectArgument;
|
|
128
|
+
destroyAnchor({ anchor }: {
|
|
129
|
+
anchor: ObjectArgument;
|
|
130
|
+
}): TransactionObjectArgument;
|
|
131
|
+
borrowAssets({ anchor }: {
|
|
132
|
+
anchor: ObjectArgument;
|
|
133
|
+
}): TransactionObjectArgument;
|
|
134
|
+
returnAssetsFromBorrow({ anchor, bag, borrow, }: {
|
|
135
|
+
anchor: ObjectArgument;
|
|
136
|
+
bag: ObjectArgument;
|
|
137
|
+
borrow: ObjectArgument;
|
|
138
|
+
}): TransactionObjectArgument;
|
|
139
|
+
receiveRequest({ anchor, request }: {
|
|
140
|
+
anchor: ObjectArgument;
|
|
141
|
+
request: ObjectArgument;
|
|
142
|
+
}): TransactionObjectArgument;
|
|
143
|
+
transition({ anchor, newStateMetadata, receipts, }: {
|
|
144
|
+
anchor: ObjectArgument;
|
|
145
|
+
newStateMetadata: Uint8Array;
|
|
146
|
+
receipts: ObjectArgument;
|
|
147
|
+
}): TransactionObjectArgument;
|
|
148
|
+
placeCoinForMigration({ anchor, coinType, coin, }: {
|
|
149
|
+
anchor: ObjectArgument;
|
|
150
|
+
coinType?: string;
|
|
151
|
+
coin: ObjectArgument;
|
|
152
|
+
}): TransactionObjectArgument;
|
|
153
|
+
placeCoinBalanceForMigration({ anchor, coinType, balance, }: {
|
|
154
|
+
anchor: ObjectArgument;
|
|
155
|
+
coinType?: string;
|
|
156
|
+
balance: ObjectArgument;
|
|
157
|
+
}): TransactionObjectArgument;
|
|
158
|
+
placeAssetForMigration({ anchor, assetType, asset, }: {
|
|
159
|
+
anchor: ObjectArgument;
|
|
160
|
+
assetType: string;
|
|
161
|
+
asset: ObjectArgument;
|
|
162
|
+
}): TransactionObjectArgument;
|
|
163
|
+
/**
|
|
164
|
+
* Stop building this ISC Transaction and return the IOTA MOVE Transaction.
|
|
165
|
+
* @returns IOTA MOVE Transaction.
|
|
166
|
+
*/
|
|
167
|
+
build(): Transaction;
|
|
168
|
+
}
|