@humanode-hyperlane/starknet-sdk 0.0.0-stage → 27.2.3-humanode.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE.md +193 -0
  2. package/dist/clients/protocol.d.ts +24 -0
  3. package/dist/clients/protocol.d.ts.map +1 -0
  4. package/dist/clients/protocol.js +55 -0
  5. package/dist/clients/protocol.js.map +1 -0
  6. package/dist/clients/protocol.test.d.ts +2 -0
  7. package/dist/clients/protocol.test.d.ts.map +1 -0
  8. package/dist/clients/protocol.test.js +36 -0
  9. package/dist/clients/protocol.test.js.map +1 -0
  10. package/dist/clients/provider.d.ts +93 -0
  11. package/dist/clients/provider.d.ts.map +1 -0
  12. package/dist/clients/provider.js +746 -0
  13. package/dist/clients/provider.js.map +1 -0
  14. package/dist/clients/provider.test.d.ts +2 -0
  15. package/dist/clients/provider.test.d.ts.map +1 -0
  16. package/dist/clients/provider.test.js +493 -0
  17. package/dist/clients/provider.test.js.map +1 -0
  18. package/dist/clients/signer.d.ts +56 -0
  19. package/dist/clients/signer.d.ts.map +1 -0
  20. package/dist/clients/signer.js +486 -0
  21. package/dist/clients/signer.js.map +1 -0
  22. package/dist/clients/signer.test.d.ts +2 -0
  23. package/dist/clients/signer.test.d.ts.map +1 -0
  24. package/dist/clients/signer.test.js +245 -0
  25. package/dist/clients/signer.test.js.map +1 -0
  26. package/dist/contracts.d.ts +43 -0
  27. package/dist/contracts.d.ts.map +1 -0
  28. package/dist/contracts.js +310 -0
  29. package/dist/contracts.js.map +1 -0
  30. package/dist/contracts.test.d.ts +2 -0
  31. package/dist/contracts.test.d.ts.map +1 -0
  32. package/dist/contracts.test.js +56 -0
  33. package/dist/contracts.test.js.map +1 -0
  34. package/dist/hook/hook-artifact-manager.d.ts +18 -0
  35. package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
  36. package/dist/hook/hook-artifact-manager.js +70 -0
  37. package/dist/hook/hook-artifact-manager.js.map +1 -0
  38. package/dist/hook/hook-artifact-manager.test.d.ts +2 -0
  39. package/dist/hook/hook-artifact-manager.test.d.ts.map +1 -0
  40. package/dist/hook/hook-artifact-manager.test.js +166 -0
  41. package/dist/hook/hook-artifact-manager.test.js.map +1 -0
  42. package/dist/hook/interchain-gas-paymaster-hook-artifact-manager.d.ts +5 -0
  43. package/dist/hook/interchain-gas-paymaster-hook-artifact-manager.d.ts.map +1 -0
  44. package/dist/hook/interchain-gas-paymaster-hook-artifact-manager.js +23 -0
  45. package/dist/hook/interchain-gas-paymaster-hook-artifact-manager.js.map +1 -0
  46. package/dist/hook/merkle-tree-hook-artifact-manager.d.ts +18 -0
  47. package/dist/hook/merkle-tree-hook-artifact-manager.d.ts.map +1 -0
  48. package/dist/hook/merkle-tree-hook-artifact-manager.js +43 -0
  49. package/dist/hook/merkle-tree-hook-artifact-manager.js.map +1 -0
  50. package/dist/hook/protocol-fee-hook-artifact-manager.d.ts +22 -0
  51. package/dist/hook/protocol-fee-hook-artifact-manager.d.ts.map +1 -0
  52. package/dist/hook/protocol-fee-hook-artifact-manager.js +169 -0
  53. package/dist/hook/protocol-fee-hook-artifact-manager.js.map +1 -0
  54. package/dist/hook/unknown-hook-artifact-manager.d.ts +14 -0
  55. package/dist/hook/unknown-hook-artifact-manager.d.ts.map +1 -0
  56. package/dist/hook/unknown-hook-artifact-manager.js +20 -0
  57. package/dist/hook/unknown-hook-artifact-manager.js.map +1 -0
  58. package/dist/index.d.ts +9 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +9 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/ism/domain-routing-ism-artifact-manager.d.ts +20 -0
  63. package/dist/ism/domain-routing-ism-artifact-manager.d.ts.map +1 -0
  64. package/dist/ism/domain-routing-ism-artifact-manager.js +136 -0
  65. package/dist/ism/domain-routing-ism-artifact-manager.js.map +1 -0
  66. package/dist/ism/ism-artifact-manager.d.ts +14 -0
  67. package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
  68. package/dist/ism/ism-artifact-manager.js +51 -0
  69. package/dist/ism/ism-artifact-manager.js.map +1 -0
  70. package/dist/ism/ism-artifact-manager.test.d.ts +2 -0
  71. package/dist/ism/ism-artifact-manager.test.d.ts.map +1 -0
  72. package/dist/ism/ism-artifact-manager.test.js +86 -0
  73. package/dist/ism/ism-artifact-manager.test.js.map +1 -0
  74. package/dist/ism/merkle-root-multisig-ism-artifact-manager.d.ts +20 -0
  75. package/dist/ism/merkle-root-multisig-ism-artifact-manager.d.ts.map +1 -0
  76. package/dist/ism/merkle-root-multisig-ism-artifact-manager.js +52 -0
  77. package/dist/ism/merkle-root-multisig-ism-artifact-manager.js.map +1 -0
  78. package/dist/ism/message-id-multisig-ism-artifact-manager.d.ts +20 -0
  79. package/dist/ism/message-id-multisig-ism-artifact-manager.d.ts.map +1 -0
  80. package/dist/ism/message-id-multisig-ism-artifact-manager.js +52 -0
  81. package/dist/ism/message-id-multisig-ism-artifact-manager.js.map +1 -0
  82. package/dist/ism/test-ism-artifact-manager.d.ts +20 -0
  83. package/dist/ism/test-ism-artifact-manager.d.ts.map +1 -0
  84. package/dist/ism/test-ism-artifact-manager.js +44 -0
  85. package/dist/ism/test-ism-artifact-manager.js.map +1 -0
  86. package/dist/mailbox/mailbox-artifact-manager.d.ts +15 -0
  87. package/dist/mailbox/mailbox-artifact-manager.d.ts.map +1 -0
  88. package/dist/mailbox/mailbox-artifact-manager.js +194 -0
  89. package/dist/mailbox/mailbox-artifact-manager.js.map +1 -0
  90. package/dist/mailbox/mailbox-artifact-manager.test.d.ts +2 -0
  91. package/dist/mailbox/mailbox-artifact-manager.test.d.ts.map +1 -0
  92. package/dist/mailbox/mailbox-artifact-manager.test.js +100 -0
  93. package/dist/mailbox/mailbox-artifact-manager.test.js.map +1 -0
  94. package/dist/testing/constants.d.ts +8 -0
  95. package/dist/testing/constants.d.ts.map +1 -0
  96. package/dist/testing/constants.js +27 -0
  97. package/dist/testing/constants.js.map +1 -0
  98. package/dist/testing/index.d.ts +4 -0
  99. package/dist/testing/index.d.ts.map +1 -0
  100. package/dist/testing/index.js +4 -0
  101. package/dist/testing/index.js.map +1 -0
  102. package/dist/testing/node.d.ts +4 -0
  103. package/dist/testing/node.d.ts.map +1 -0
  104. package/dist/testing/node.js +77 -0
  105. package/dist/testing/node.js.map +1 -0
  106. package/dist/testing/utils.d.ts +6 -0
  107. package/dist/testing/utils.d.ts.map +1 -0
  108. package/dist/testing/utils.js +20 -0
  109. package/dist/testing/utils.js.map +1 -0
  110. package/dist/tests/e2e-test.setup.d.ts +2 -0
  111. package/dist/tests/e2e-test.setup.d.ts.map +1 -0
  112. package/dist/tests/e2e-test.setup.js +24 -0
  113. package/dist/tests/e2e-test.setup.js.map +1 -0
  114. package/dist/tests/hook.e2e-test.d.ts +2 -0
  115. package/dist/tests/hook.e2e-test.d.ts.map +1 -0
  116. package/dist/tests/hook.e2e-test.js +78 -0
  117. package/dist/tests/hook.e2e-test.js.map +1 -0
  118. package/dist/tests/ism.e2e-test.d.ts +2 -0
  119. package/dist/tests/ism.e2e-test.d.ts.map +1 -0
  120. package/dist/tests/ism.e2e-test.js +116 -0
  121. package/dist/tests/ism.e2e-test.js.map +1 -0
  122. package/dist/tests/mailbox.e2e-test.d.ts +2 -0
  123. package/dist/tests/mailbox.e2e-test.d.ts.map +1 -0
  124. package/dist/tests/mailbox.e2e-test.js +112 -0
  125. package/dist/tests/mailbox.e2e-test.js.map +1 -0
  126. package/dist/tests/read-warp-token.e2e-test.d.ts +2 -0
  127. package/dist/tests/read-warp-token.e2e-test.d.ts.map +1 -0
  128. package/dist/tests/read-warp-token.e2e-test.js +67 -0
  129. package/dist/tests/read-warp-token.e2e-test.js.map +1 -0
  130. package/dist/tests/validator_announce.e2e-test.d.ts +2 -0
  131. package/dist/tests/validator_announce.e2e-test.d.ts.map +1 -0
  132. package/dist/tests/validator_announce.e2e-test.js +70 -0
  133. package/dist/tests/validator_announce.e2e-test.js.map +1 -0
  134. package/dist/tests/warp_core.e2e-test.d.ts +2 -0
  135. package/dist/tests/warp_core.e2e-test.d.ts.map +1 -0
  136. package/dist/tests/warp_core.e2e-test.js +109 -0
  137. package/dist/tests/warp_core.e2e-test.js.map +1 -0
  138. package/dist/tests/warp_transfer.e2e-test.d.ts +2 -0
  139. package/dist/tests/warp_transfer.e2e-test.d.ts.map +1 -0
  140. package/dist/tests/warp_transfer.e2e-test.js +95 -0
  141. package/dist/tests/warp_transfer.e2e-test.js.map +1 -0
  142. package/dist/types.d.ts +26 -0
  143. package/dist/types.d.ts.map +1 -0
  144. package/dist/types.js +2 -0
  145. package/dist/types.js.map +1 -0
  146. package/dist/validator-announce/validator-announce-artifact-manager.d.ts +14 -0
  147. package/dist/validator-announce/validator-announce-artifact-manager.d.ts.map +1 -0
  148. package/dist/validator-announce/validator-announce-artifact-manager.js +127 -0
  149. package/dist/validator-announce/validator-announce-artifact-manager.js.map +1 -0
  150. package/dist/validator-announce/validator-announce-artifact-manager.test.d.ts +2 -0
  151. package/dist/validator-announce/validator-announce-artifact-manager.test.d.ts.map +1 -0
  152. package/dist/validator-announce/validator-announce-artifact-manager.test.js +66 -0
  153. package/dist/validator-announce/validator-announce-artifact-manager.test.js.map +1 -0
  154. package/dist/warp/collateral-token-artifact-manager.d.ts +14 -0
  155. package/dist/warp/collateral-token-artifact-manager.d.ts.map +1 -0
  156. package/dist/warp/collateral-token-artifact-manager.js +43 -0
  157. package/dist/warp/collateral-token-artifact-manager.js.map +1 -0
  158. package/dist/warp/native-token-artifact-manager.d.ts +13 -0
  159. package/dist/warp/native-token-artifact-manager.d.ts.map +1 -0
  160. package/dist/warp/native-token-artifact-manager.js +28 -0
  161. package/dist/warp/native-token-artifact-manager.js.map +1 -0
  162. package/dist/warp/synthetic-token-artifact-manager.d.ts +15 -0
  163. package/dist/warp/synthetic-token-artifact-manager.d.ts.map +1 -0
  164. package/dist/warp/synthetic-token-artifact-manager.js +49 -0
  165. package/dist/warp/synthetic-token-artifact-manager.js.map +1 -0
  166. package/dist/warp/token-artifact-manager.d.ts +43 -0
  167. package/dist/warp/token-artifact-manager.d.ts.map +1 -0
  168. package/dist/warp/token-artifact-manager.js +241 -0
  169. package/dist/warp/token-artifact-manager.js.map +1 -0
  170. package/dist/warp/warp-artifact-manager.d.ts +14 -0
  171. package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
  172. package/dist/warp/warp-artifact-manager.js +54 -0
  173. package/dist/warp/warp-artifact-manager.js.map +1 -0
  174. package/dist/warp/warp-artifact-manager.test.d.ts +2 -0
  175. package/dist/warp/warp-artifact-manager.test.d.ts.map +1 -0
  176. package/dist/warp/warp-artifact-manager.test.js +128 -0
  177. package/dist/warp/warp-artifact-manager.test.js.map +1 -0
  178. package/package.json +53 -3
  179. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/clients/signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,486 @@
1
+ import { Account, CallData, ContractFactory, } from 'starknet';
2
+ import { AltVM } from '@humanode-hyperlane/provider-sdk';
3
+ import { ContractType, getCompiledClassHash, getCompiledContract, getContractArtifact, } from '@humanode-hyperlane/starknet-core';
4
+ import { ZERO_ADDRESS_HEX_32, assert } from '@humanode-hyperlane/utils';
5
+ import { StarknetContractName, getStarknetContract, normalizeStarknetAddressSafe, populateInvokeTx, toBigInt, } from '../contracts.js';
6
+ import { StarknetProvider } from './provider.js';
7
+ export class StarknetSigner extends StarknetProvider {
8
+ signerAddress;
9
+ static readStringField(value, key) {
10
+ if (!value || typeof value !== 'object')
11
+ return undefined;
12
+ const candidate = Reflect.get(value, key);
13
+ return typeof candidate === 'string' ? candidate : undefined;
14
+ }
15
+ static async connectWithSigner(rpcUrls, privateKey, extraParams) {
16
+ assert(extraParams?.metadata, 'metadata missing for Starknet signer');
17
+ const metadata = extraParams.metadata;
18
+ const accountAddress = extraParams.accountAddress;
19
+ assert(accountAddress, 'accountAddress missing for Starknet signer');
20
+ assert(privateKey, 'private key missing for Starknet signer');
21
+ const provider = StarknetProvider.connect(rpcUrls, metadata.chainId, {
22
+ metadata,
23
+ });
24
+ return new StarknetSigner(provider.getRawProvider(), metadata, rpcUrls, normalizeStarknetAddressSafe(accountAddress), privateKey);
25
+ }
26
+ account;
27
+ constructor(provider, metadata, rpcUrls, signerAddress, privateKey) {
28
+ super(provider, metadata, rpcUrls);
29
+ this.signerAddress = signerAddress;
30
+ this.account = new Account(provider, signerAddress, privateKey);
31
+ }
32
+ get accountAddress() {
33
+ return this.signerAddress;
34
+ }
35
+ getSignerAddress() {
36
+ return this.signerAddress;
37
+ }
38
+ supportsTransactionBatching() {
39
+ return true;
40
+ }
41
+ async transactionToPrintableJson(transaction) {
42
+ return transaction;
43
+ }
44
+ assertSuccessfulReceipt(transactionHash, receipt) {
45
+ if (receipt.isSuccess())
46
+ return;
47
+ if (receipt.isReverted()) {
48
+ const receiptValue = receipt.value;
49
+ const revertReason = typeof receiptValue === 'object' &&
50
+ typeof Reflect.get(receiptValue, 'revert_reason') === 'string'
51
+ ? Reflect.get(receiptValue, 'revert_reason')
52
+ : undefined;
53
+ const details = typeof revertReason === 'string' && revertReason.length > 0
54
+ ? `: ${revertReason}`
55
+ : '';
56
+ assert(false, `Starknet transaction ${transactionHash} reverted${details}`);
57
+ }
58
+ if (receipt.isError()) {
59
+ assert(false, `Starknet transaction ${transactionHash} failed: ${receipt.value.message}`);
60
+ }
61
+ assert(false, `Starknet transaction ${transactionHash} failed with status ${receipt.statusReceipt}`);
62
+ }
63
+ async deployContract(params) {
64
+ const compiledContract = getCompiledContract(params.contractName, params.contractType);
65
+ const compiledClassHash = getCompiledClassHash(params.contractName, params.contractType);
66
+ const contractArtifact = getContractArtifact(params.contractName, params.contractType);
67
+ assert(contractArtifact.compiled_contract_class, `Missing compiled_contract_class for Starknet contract ${params.contractName}`);
68
+ assert(compiledClassHash, `Missing compiledClassHash for Starknet contract ${params.contractName}`);
69
+ const hasConstructor = compiledContract.abi.some((item) => item.type === 'constructor');
70
+ const constructorCalldata = hasConstructor
71
+ ? new CallData(compiledContract.abi).compile('constructor', params.constructorArgs)
72
+ : undefined;
73
+ const factory = new ContractFactory({
74
+ compiledContract,
75
+ casm: contractArtifact.compiled_contract_class,
76
+ compiledClassHash,
77
+ account: this.account,
78
+ });
79
+ const deployment = constructorCalldata === undefined
80
+ ? await factory.deploy()
81
+ : await factory.deploy(constructorCalldata);
82
+ const transactionHash = deployment.deployTransactionHash ??
83
+ StarknetSigner.readStringField(deployment, 'transaction_hash');
84
+ assert(transactionHash, 'missing Starknet deploy transaction hash');
85
+ const rawAddress = deployment.address ||
86
+ StarknetSigner.readStringField(deployment, 'contract_address');
87
+ assert(rawAddress, 'missing Starknet deploy contract address');
88
+ const address = normalizeStarknetAddressSafe(rawAddress);
89
+ const receipt = await this.account.waitForTransaction(transactionHash);
90
+ this.assertSuccessfulReceipt(transactionHash, receipt);
91
+ return {
92
+ transactionHash,
93
+ contractAddress: address,
94
+ receipt,
95
+ };
96
+ }
97
+ async sendAndConfirmTransaction(transaction) {
98
+ if (transaction.kind === 'deploy') {
99
+ const deployed = await this.deployContract({
100
+ contractName: transaction.contractName,
101
+ constructorArgs: transaction.constructorArgs,
102
+ contractType: transaction.contractType,
103
+ });
104
+ return {
105
+ transactionHash: deployed.transactionHash,
106
+ contractAddress: deployed.contractAddress,
107
+ receipt: deployed.receipt,
108
+ };
109
+ }
110
+ const calls = transaction.calls ?? [
111
+ {
112
+ contractAddress: transaction.contractAddress,
113
+ entrypoint: transaction.entrypoint,
114
+ calldata: transaction.calldata,
115
+ },
116
+ ];
117
+ const response = await this.account.execute(calls);
118
+ const transactionHash = response.transaction_hash;
119
+ const receipt = await this.account.waitForTransaction(transactionHash);
120
+ this.assertSuccessfulReceipt(transactionHash, receipt);
121
+ return { transactionHash, receipt };
122
+ }
123
+ async sendAndConfirmBatchTransactions(transactions) {
124
+ const hasDeploy = transactions.some((tx) => tx.kind === 'deploy');
125
+ if (hasDeploy) {
126
+ throw new Error('Batch transactions with deploy operations are unsupported on Starknet signer');
127
+ }
128
+ const invokeTransactions = transactions.filter((tx) => tx.kind === 'invoke');
129
+ assert(invokeTransactions.length === transactions.length, 'Batch transactions with non-invoke operations are unsupported on Starknet signer');
130
+ const calls = invokeTransactions.flatMap((invoke) => invoke.calls ?? [
131
+ {
132
+ contractAddress: invoke.contractAddress,
133
+ entrypoint: invoke.entrypoint,
134
+ calldata: invoke.calldata,
135
+ },
136
+ ]);
137
+ const response = await this.account.execute(calls);
138
+ const transactionHash = response.transaction_hash;
139
+ const receipt = await this.account.waitForTransaction(transactionHash);
140
+ this.assertSuccessfulReceipt(transactionHash, receipt);
141
+ return { transactionHash, receipt };
142
+ }
143
+ // ### TX CORE ###
144
+ async estimateTransactionFee(req) {
145
+ assert(req.transaction.kind === 'invoke', 'Starknet transaction fee estimation only supports invoke transactions');
146
+ const calls = req.transaction.calls ?? [
147
+ {
148
+ contractAddress: req.transaction.contractAddress,
149
+ entrypoint: req.transaction.entrypoint,
150
+ calldata: req.transaction.calldata,
151
+ },
152
+ ];
153
+ const estimate = await this.account.estimateInvokeFee(calls);
154
+ const gasUnits = estimate.l1_gas_consumed +
155
+ estimate.l1_data_gas_consumed +
156
+ (estimate.l2_gas_consumed ?? 0n);
157
+ return {
158
+ gasUnits,
159
+ gasPrice: Number(estimate.l1_gas_price),
160
+ fee: estimate.overall_fee,
161
+ };
162
+ }
163
+ async createMailbox(req) {
164
+ if (req.proxyAdminAddress) {
165
+ throw new Error('Proxy admin unsupported on Starknet');
166
+ }
167
+ const defaultIsmAddress = req.defaultIsmAddress ?? (await this.createNoopIsm({})).ismAddress;
168
+ const defaultHookAddress = req.defaultHookAddress ??
169
+ (await this.createNoopHook({
170
+ // Hook deployment currently ignores mailboxAddress on Starknet.
171
+ mailboxAddress: this.signerAddress,
172
+ })).hookAddress;
173
+ // Keep required hooks opt-in. Auto-deploying a noop required hook would
174
+ // change mailbox semantics for callers that intentionally leave it unset.
175
+ const requiredHookAddress = req.requiredHookAddress;
176
+ const tx = await this.getCreateMailboxTransaction({
177
+ signer: this.signerAddress,
178
+ ...req,
179
+ defaultIsmAddress,
180
+ defaultHookAddress,
181
+ requiredHookAddress,
182
+ });
183
+ const receipt = await this.sendAndConfirmTransaction(tx);
184
+ assert(receipt.contractAddress, 'failed to get Starknet mailbox address');
185
+ return { mailboxAddress: receipt.contractAddress };
186
+ }
187
+ async setDefaultIsm(req) {
188
+ const tx = await this.getSetDefaultIsmTransaction({
189
+ signer: this.signerAddress,
190
+ ...req,
191
+ });
192
+ await this.sendAndConfirmTransaction(tx);
193
+ return { ismAddress: req.ismAddress };
194
+ }
195
+ async setDefaultHook(req) {
196
+ const tx = await this.getSetDefaultHookTransaction({
197
+ signer: this.signerAddress,
198
+ ...req,
199
+ });
200
+ await this.sendAndConfirmTransaction(tx);
201
+ return { hookAddress: req.hookAddress };
202
+ }
203
+ async setRequiredHook(req) {
204
+ const tx = await this.getSetRequiredHookTransaction({
205
+ signer: this.signerAddress,
206
+ ...req,
207
+ });
208
+ await this.sendAndConfirmTransaction(tx);
209
+ return { hookAddress: req.hookAddress };
210
+ }
211
+ async setMailboxOwner(req) {
212
+ const tx = await this.getSetMailboxOwnerTransaction({
213
+ signer: this.signerAddress,
214
+ ...req,
215
+ });
216
+ await this.sendAndConfirmTransaction(tx);
217
+ return { newOwner: req.newOwner };
218
+ }
219
+ async createMerkleRootMultisigIsm(req) {
220
+ const tx = await this.getCreateMerkleRootMultisigIsmTransaction({
221
+ signer: this.signerAddress,
222
+ ...req,
223
+ });
224
+ const receipt = await this.sendAndConfirmTransaction(tx);
225
+ assert(receipt.contractAddress, 'failed to get Starknet ISM address');
226
+ return { ismAddress: receipt.contractAddress };
227
+ }
228
+ async createMessageIdMultisigIsm(req) {
229
+ const tx = await this.getCreateMessageIdMultisigIsmTransaction({
230
+ signer: this.signerAddress,
231
+ ...req,
232
+ });
233
+ const receipt = await this.sendAndConfirmTransaction(tx);
234
+ assert(receipt.contractAddress, 'failed to get Starknet ISM address');
235
+ return { ismAddress: receipt.contractAddress };
236
+ }
237
+ async createRoutingIsm(req) {
238
+ const tx = await this.getCreateRoutingIsmTransaction({
239
+ signer: this.signerAddress,
240
+ ...req,
241
+ });
242
+ const receipt = await this.sendAndConfirmTransaction(tx);
243
+ const ismAddress = receipt.contractAddress;
244
+ assert(ismAddress, 'failed to get Starknet routing ISM address');
245
+ if (req.routes.length > 0) {
246
+ const routeTxs = await Promise.all(req.routes.map(async (route) => this.getSetRoutingIsmRouteTransaction({
247
+ signer: this.signerAddress,
248
+ ismAddress,
249
+ route,
250
+ })));
251
+ await this.sendAndConfirmBatchTransactions(routeTxs);
252
+ }
253
+ return { ismAddress };
254
+ }
255
+ async setRoutingIsmRoute(req) {
256
+ const tx = await this.getSetRoutingIsmRouteTransaction({
257
+ signer: this.signerAddress,
258
+ ...req,
259
+ });
260
+ await this.sendAndConfirmTransaction(tx);
261
+ return { route: req.route };
262
+ }
263
+ async removeRoutingIsmRoute(req) {
264
+ const tx = await this.getRemoveRoutingIsmRouteTransaction({
265
+ signer: this.signerAddress,
266
+ ...req,
267
+ });
268
+ await this.sendAndConfirmTransaction(tx);
269
+ return { domainId: req.domainId };
270
+ }
271
+ async setRoutingIsmOwner(req) {
272
+ const tx = await this.getSetRoutingIsmOwnerTransaction({
273
+ signer: this.signerAddress,
274
+ ...req,
275
+ });
276
+ await this.sendAndConfirmTransaction(tx);
277
+ return { newOwner: req.newOwner };
278
+ }
279
+ async createNoopIsm(req) {
280
+ const tx = await this.getCreateNoopIsmTransaction({
281
+ signer: this.signerAddress,
282
+ ...req,
283
+ });
284
+ const receipt = await this.sendAndConfirmTransaction(tx);
285
+ assert(receipt.contractAddress, 'failed to get Starknet noop ISM address');
286
+ return { ismAddress: receipt.contractAddress };
287
+ }
288
+ async createMerkleTreeHook(req) {
289
+ const tx = await this.getCreateMerkleTreeHookTransaction({
290
+ signer: this.signerAddress,
291
+ ...req,
292
+ });
293
+ const receipt = await this.sendAndConfirmTransaction(tx);
294
+ assert(receipt.contractAddress, 'failed to get Starknet hook address');
295
+ return { hookAddress: receipt.contractAddress };
296
+ }
297
+ async createInterchainGasPaymasterHook(req) {
298
+ const tx = await this.getCreateInterchainGasPaymasterHookTransaction({
299
+ signer: this.signerAddress,
300
+ ...req,
301
+ });
302
+ const receipt = await this.sendAndConfirmTransaction(tx);
303
+ assert(receipt.contractAddress, 'failed to get Starknet interchainGasPaymaster hook');
304
+ return { hookAddress: receipt.contractAddress };
305
+ }
306
+ async setInterchainGasPaymasterHookOwner(req) {
307
+ const tx = await this.getSetInterchainGasPaymasterHookOwnerTransaction({
308
+ signer: this.signerAddress,
309
+ ...req,
310
+ });
311
+ await this.sendAndConfirmTransaction(tx);
312
+ return { newOwner: req.newOwner };
313
+ }
314
+ async setDestinationGasConfig(req) {
315
+ const tx = await this.getSetDestinationGasConfigTransaction({
316
+ signer: this.signerAddress,
317
+ ...req,
318
+ });
319
+ await this.sendAndConfirmTransaction(tx);
320
+ return { destinationGasConfig: req.destinationGasConfig };
321
+ }
322
+ async removeDestinationGasConfig(req) {
323
+ const tx = await this.getRemoveDestinationGasConfigTransaction({
324
+ signer: this.signerAddress,
325
+ ...req,
326
+ });
327
+ await this.sendAndConfirmTransaction(tx);
328
+ return { remoteDomainId: req.remoteDomainId };
329
+ }
330
+ async createNoopHook(req) {
331
+ const tx = await this.getCreateNoopHookTransaction({
332
+ signer: this.signerAddress,
333
+ ...req,
334
+ });
335
+ const receipt = await this.sendAndConfirmTransaction(tx);
336
+ assert(receipt.contractAddress, 'failed to get Starknet noop hook');
337
+ return { hookAddress: receipt.contractAddress };
338
+ }
339
+ async createValidatorAnnounce(req) {
340
+ const tx = await this.getCreateValidatorAnnounceTransaction({
341
+ signer: this.signerAddress,
342
+ ...req,
343
+ });
344
+ const receipt = await this.sendAndConfirmTransaction(tx);
345
+ assert(receipt.contractAddress, 'failed to get Starknet validator announce address');
346
+ return { validatorAnnounceId: receipt.contractAddress };
347
+ }
348
+ async createProxyAdmin(_req) {
349
+ throw new Error('Proxy admin unsupported on Starknet');
350
+ }
351
+ async setProxyAdminOwner(_req) {
352
+ throw new Error('Proxy admin unsupported on Starknet');
353
+ }
354
+ // ### TX WARP ###
355
+ async createNativeToken(req) {
356
+ if (req.proxyAdminAddress) {
357
+ throw new Error('Proxy admin unsupported on Starknet');
358
+ }
359
+ const tx = await this.getCreateNativeTokenTransaction({
360
+ signer: this.signerAddress,
361
+ ...req,
362
+ });
363
+ const receipt = await this.sendAndConfirmTransaction(tx);
364
+ assert(receipt.contractAddress, 'failed to get Starknet warp token');
365
+ return { tokenAddress: receipt.contractAddress };
366
+ }
367
+ async createCollateralToken(req) {
368
+ if (req.proxyAdminAddress) {
369
+ throw new Error('Proxy admin unsupported on Starknet');
370
+ }
371
+ const tx = await this.getCreateCollateralTokenTransaction({
372
+ signer: this.signerAddress,
373
+ ...req,
374
+ });
375
+ const receipt = await this.sendAndConfirmTransaction(tx);
376
+ assert(receipt.contractAddress, 'failed to get Starknet warp token');
377
+ return { tokenAddress: receipt.contractAddress };
378
+ }
379
+ async createSyntheticToken(req) {
380
+ if (req.proxyAdminAddress) {
381
+ throw new Error('Proxy admin unsupported on Starknet');
382
+ }
383
+ const tx = await this.getCreateSyntheticTokenTransaction({
384
+ signer: this.signerAddress,
385
+ ...req,
386
+ });
387
+ const receipt = await this.sendAndConfirmTransaction(tx);
388
+ assert(receipt.contractAddress, 'failed to get Starknet warp token');
389
+ return { tokenAddress: receipt.contractAddress };
390
+ }
391
+ async setTokenOwner(req) {
392
+ const tx = await this.getSetTokenOwnerTransaction({
393
+ signer: this.signerAddress,
394
+ ...req,
395
+ });
396
+ await this.sendAndConfirmTransaction(tx);
397
+ return { newOwner: req.newOwner };
398
+ }
399
+ async setTokenIsm(req) {
400
+ const tx = await this.getSetTokenIsmTransaction({
401
+ signer: this.signerAddress,
402
+ ...req,
403
+ });
404
+ await this.sendAndConfirmTransaction(tx);
405
+ return { ismAddress: req.ismAddress ?? ZERO_ADDRESS_HEX_32 };
406
+ }
407
+ async setTokenHook(req) {
408
+ const tx = await this.getSetTokenHookTransaction({
409
+ signer: this.signerAddress,
410
+ ...req,
411
+ });
412
+ await this.sendAndConfirmTransaction(tx);
413
+ return { hookAddress: req.hookAddress ?? ZERO_ADDRESS_HEX_32 };
414
+ }
415
+ async enrollRemoteRouter(req) {
416
+ const tx = await this.getEnrollRemoteRouterTransaction({
417
+ signer: this.signerAddress,
418
+ ...req,
419
+ });
420
+ await this.sendAndConfirmTransaction(tx);
421
+ return { receiverDomainId: req.remoteRouter.receiverDomainId };
422
+ }
423
+ async unenrollRemoteRouter(req) {
424
+ const tx = await this.getUnenrollRemoteRouterTransaction({
425
+ signer: this.signerAddress,
426
+ ...req,
427
+ });
428
+ await this.sendAndConfirmTransaction(tx);
429
+ return { receiverDomainId: req.receiverDomainId };
430
+ }
431
+ async transfer(req) {
432
+ const tx = await this.getTransferTransaction({
433
+ signer: this.signerAddress,
434
+ ...req,
435
+ });
436
+ await this.sendAndConfirmTransaction(tx);
437
+ return { recipient: req.recipient };
438
+ }
439
+ async remoteTransfer(req) {
440
+ const token = await this.getToken({ tokenAddress: req.tokenAddress });
441
+ const tokenType = token.tokenType;
442
+ const tx = await this.buildRemoteTransferTransaction({
443
+ signer: this.signerAddress,
444
+ ...req,
445
+ }, token);
446
+ const batchedTxs = [];
447
+ if (tokenType === AltVM.TokenType.native) {
448
+ const nativeToken = getStarknetContract(StarknetContractName.ETHER, token.denom, this.provider, ContractType.TOKEN);
449
+ batchedTxs.push(await populateInvokeTx(nativeToken, 'approve', [
450
+ normalizeStarknetAddressSafe(req.tokenAddress),
451
+ toBigInt(req.amount) + toBigInt(req.maxFee.amount),
452
+ ]));
453
+ }
454
+ else if (tokenType === AltVM.TokenType.collateral) {
455
+ const collateralToken = getStarknetContract(StarknetContractName.ETHER, token.denom, this.provider, ContractType.TOKEN);
456
+ const collateralDenom = normalizeStarknetAddressSafe(token.denom);
457
+ const feeDenom = normalizeStarknetAddressSafe(req.maxFee.denom);
458
+ const approvalAmount = collateralDenom === feeDenom
459
+ ? toBigInt(req.amount) + toBigInt(req.maxFee.amount)
460
+ : toBigInt(req.amount);
461
+ batchedTxs.push(await populateInvokeTx(collateralToken, 'approve', [
462
+ normalizeStarknetAddressSafe(req.tokenAddress),
463
+ approvalAmount,
464
+ ]));
465
+ }
466
+ const usesSharedCollateralAndFeeToken = tokenType === AltVM.TokenType.collateral &&
467
+ normalizeStarknetAddressSafe(token.denom) ===
468
+ normalizeStarknetAddressSafe(req.maxFee.denom);
469
+ if (tokenType !== AltVM.TokenType.native &&
470
+ !usesSharedCollateralAndFeeToken) {
471
+ const feeToken = getStarknetContract(StarknetContractName.ETHER, req.maxFee.denom, this.provider, ContractType.TOKEN);
472
+ batchedTxs.push(await populateInvokeTx(feeToken, 'approve', [
473
+ normalizeStarknetAddressSafe(req.tokenAddress),
474
+ toBigInt(req.maxFee.amount),
475
+ ]));
476
+ }
477
+ if (batchedTxs.length > 0) {
478
+ await this.sendAndConfirmBatchTransactions([...batchedTxs, tx]);
479
+ }
480
+ else {
481
+ await this.sendAndConfirmTransaction(tx);
482
+ }
483
+ return { tokenAddress: req.tokenAddress };
484
+ }
485
+ }
486
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/clients/signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=signer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.test.d.ts","sourceRoot":"","sources":["../../src/clients/signer.test.ts"],"names":[],"mappings":""}