@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":"provider.js","sourceRoot":"","sources":["../../src/clients/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.test.d.ts","sourceRoot":"","sources":["../../src/clients/provider.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,493 @@
1
+ import { expect } from 'chai';
2
+ import { CallData, Contract, RpcProvider } from 'starknet';
3
+ import { AltVM, ProtocolType } from '@humanode-hyperlane/provider-sdk';
4
+ import { ContractType, getCompiledContract, } from '@humanode-hyperlane/starknet-core';
5
+ import { StarknetContractName } from '../contracts.js';
6
+ import { StarknetProvider } from './provider.js';
7
+ const TEST_METADATA = {
8
+ name: 'starknetsepolia',
9
+ protocol: ProtocolType.Starknet,
10
+ chainId: 'SN_SEPOLIA',
11
+ domainId: 421614,
12
+ rpcUrls: [{ http: 'http://localhost:9545' }],
13
+ };
14
+ const feeDenom = '0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d';
15
+ class StarknetProviderTestHarness extends StarknetProvider {
16
+ hookTypeValue = { MERKLE_TREE: {} };
17
+ hookTypeThrows = false;
18
+ hookTypeErrorMessage = 'hook_type failed';
19
+ ismTypeValue = { MERKLE_ROOT_MULTISIG: {} };
20
+ ismTypeThrows = false;
21
+ ismTypeErrorMessage = 'module_type failed';
22
+ deliveredValue = 1;
23
+ balanceOfThrows = false;
24
+ balanceOfErrorMessage = 'balanceOf failed';
25
+ balanceOfValue = { balance: 7n };
26
+ balanceOfFallbackValue = { balance: 9n };
27
+ contractSelections = [];
28
+ constructor() {
29
+ super(new RpcProvider({ nodeUrl: 'http://localhost:9545' }), TEST_METADATA, ['http://localhost:9545']);
30
+ }
31
+ parseStringValue(value) {
32
+ return this.parseString(value);
33
+ }
34
+ withContract(name, address) {
35
+ this.contractSelections.push(name);
36
+ const contract = Object.create(Contract.prototype);
37
+ Object.assign(contract, { address });
38
+ if (this.hookTypeThrows) {
39
+ Object.assign(contract, {
40
+ hook_type: async () => {
41
+ throw new Error(this.hookTypeErrorMessage);
42
+ },
43
+ });
44
+ return contract;
45
+ }
46
+ Object.assign(contract, {
47
+ hook_type: async () => this.hookTypeValue,
48
+ delivered: async () => this.deliveredValue,
49
+ module_type: async () => {
50
+ if (this.ismTypeThrows) {
51
+ throw new Error(this.ismTypeErrorMessage);
52
+ }
53
+ return this.ismTypeValue;
54
+ },
55
+ balanceOf: async () => {
56
+ if (this.balanceOfThrows) {
57
+ throw new Error(this.balanceOfErrorMessage);
58
+ }
59
+ return this.balanceOfValue;
60
+ },
61
+ balance_of: async () => this.balanceOfFallbackValue,
62
+ });
63
+ return contract;
64
+ }
65
+ }
66
+ class StarknetBridgedSupplyTestHarness extends StarknetProvider {
67
+ tokenType = AltVM.TokenType.synthetic;
68
+ tokenDenom = '0x123';
69
+ capturedBalanceReq;
70
+ syntheticSupply = 123n;
71
+ constructor() {
72
+ super(new RpcProvider({ nodeUrl: 'http://localhost:9545' }), TEST_METADATA, ['http://localhost:9545']);
73
+ }
74
+ withContract(_name, address) {
75
+ const contract = Object.create(Contract.prototype);
76
+ Object.assign(contract, { address });
77
+ Object.assign(contract, {
78
+ total_supply: async () => this.syntheticSupply,
79
+ });
80
+ return contract;
81
+ }
82
+ async getToken(req) {
83
+ return {
84
+ address: req.tokenAddress,
85
+ owner: '0x0',
86
+ tokenType: this.tokenType,
87
+ mailboxAddress: '0x0',
88
+ ismAddress: '0x0',
89
+ hookAddress: '0x0',
90
+ denom: this.tokenDenom,
91
+ name: '',
92
+ symbol: '',
93
+ decimals: 18,
94
+ };
95
+ }
96
+ async getBalance(req) {
97
+ this.capturedBalanceReq = req;
98
+ return 777n;
99
+ }
100
+ }
101
+ class StarknetTxTestHarness extends StarknetProvider {
102
+ tokenType = AltVM.TokenType.synthetic;
103
+ tokenDenom = feeDenom;
104
+ constructor() {
105
+ super(new RpcProvider({ nodeUrl: 'http://localhost:9545' }), TEST_METADATA, ['http://localhost:9545']);
106
+ }
107
+ withContract(_name, address) {
108
+ const contract = Object.create(Contract.prototype);
109
+ Object.assign(contract, { address });
110
+ return contract;
111
+ }
112
+ async determineTokenType() {
113
+ return this.tokenType;
114
+ }
115
+ async getToken(req) {
116
+ return {
117
+ address: req.tokenAddress,
118
+ owner: '0x0',
119
+ tokenType: this.tokenType,
120
+ mailboxAddress: '0x0',
121
+ ismAddress: '0x0',
122
+ hookAddress: '0x0',
123
+ denom: this.tokenDenom,
124
+ name: '',
125
+ symbol: '',
126
+ decimals: 18,
127
+ };
128
+ }
129
+ async getMailbox() {
130
+ return {
131
+ address: '0x1111111111111111111111111111111111111111111111111111111111111111',
132
+ owner: '0x2222222222222222222222222222222222222222222222222222222222222222',
133
+ localDomain: TEST_METADATA.domainId,
134
+ defaultIsm: '0x3333333333333333333333333333333333333333333333333333333333333333',
135
+ defaultHook: '0x4444444444444444444444444444444444444444444444444444444444444444',
136
+ requiredHook: '0x4444444444444444444444444444444444444444444444444444444444444444',
137
+ nonce: 0,
138
+ };
139
+ }
140
+ }
141
+ class StarknetTokenTypeTestHarness extends StarknetProvider {
142
+ classHash = '0x0';
143
+ constructor() {
144
+ super(new RpcProvider({ nodeUrl: 'http://localhost:9545' }), TEST_METADATA, ['http://localhost:9545']);
145
+ Object.assign(this.provider, {
146
+ getClassHashAt: async () => this.classHash,
147
+ });
148
+ }
149
+ withContract(_name, address) {
150
+ const contract = Object.create(Contract.prototype);
151
+ Object.assign(contract, { address });
152
+ return contract;
153
+ }
154
+ async readTokenType(tokenAddress) {
155
+ return this.determineTokenType(tokenAddress);
156
+ }
157
+ }
158
+ class StarknetCreateTokenTxHarness extends StarknetProvider {
159
+ constructor() {
160
+ super(new RpcProvider({ nodeUrl: 'http://localhost:9545' }), TEST_METADATA, ['http://localhost:9545']);
161
+ }
162
+ async getMailbox() {
163
+ return {
164
+ address: '0x1111111111111111111111111111111111111111111111111111111111111111',
165
+ owner: '0x2222222222222222222222222222222222222222222222222222222222222222',
166
+ localDomain: TEST_METADATA.domainId,
167
+ defaultIsm: '0x3333333333333333333333333333333333333333333333333333333333333333',
168
+ defaultHook: '0x4444444444444444444444444444444444444444444444444444444444444444',
169
+ requiredHook: '0x4444444444444444444444444444444444444444444444444444444444444444',
170
+ nonce: 0,
171
+ };
172
+ }
173
+ }
174
+ class StarknetNativeTokenMetadataHarness extends StarknetProvider {
175
+ contractSelections = [];
176
+ constructor() {
177
+ super(new RpcProvider({ nodeUrl: 'http://localhost:9545' }), {
178
+ ...TEST_METADATA,
179
+ nativeToken: {
180
+ name: 'Ether',
181
+ symbol: 'ETH',
182
+ decimals: 18,
183
+ denom: feeDenom,
184
+ },
185
+ }, ['http://localhost:9545']);
186
+ }
187
+ withContract(name) {
188
+ this.contractSelections.push(name);
189
+ throw new Error('unexpected contract read');
190
+ }
191
+ async readTokenMetadata(tokenAddress) {
192
+ return this.getTokenMetadata(tokenAddress);
193
+ }
194
+ }
195
+ describe('StarknetProvider parseString', () => {
196
+ const provider = new StarknetProviderTestHarness();
197
+ it('parses wrapped value objects before generic toString', () => {
198
+ expect(provider.parseStringValue({ value: 'wrapped-value' })).to.equal('wrapped-value');
199
+ });
200
+ it('uses custom toString values when available', () => {
201
+ expect(provider.parseStringValue({ toString: () => 'custom-to-string' })).to.equal('custom-to-string');
202
+ });
203
+ it('does not return default object toString marker', () => {
204
+ expect(provider.parseStringValue({ foo: 'bar' })).to.equal('');
205
+ });
206
+ });
207
+ describe('StarknetProvider estimateTransactionFee', () => {
208
+ it('throws instead of returning zero fee estimates', async () => {
209
+ const provider = new StarknetProviderTestHarness();
210
+ let caughtError;
211
+ try {
212
+ const transaction = {
213
+ kind: 'invoke',
214
+ contractAddress: '0x1',
215
+ entrypoint: 'noop',
216
+ calldata: [],
217
+ };
218
+ await provider.estimateTransactionFee({
219
+ transaction,
220
+ });
221
+ }
222
+ catch (error) {
223
+ caughtError = error;
224
+ }
225
+ expect(String(caughtError)).to.include('unsupported');
226
+ });
227
+ });
228
+ describe('StarknetProvider getTokenMetadata', () => {
229
+ it('uses configured native token metadata for the chain native denom', async () => {
230
+ const provider = new StarknetNativeTokenMetadataHarness();
231
+ const metadata = await provider.readTokenMetadata(feeDenom);
232
+ expect(metadata).to.deep.equal({
233
+ name: 'Ether',
234
+ symbol: 'ETH',
235
+ decimals: 18,
236
+ });
237
+ expect(provider.contractSelections).to.deep.equal([]);
238
+ });
239
+ });
240
+ describe('StarknetProvider getHookType', () => {
241
+ it('uses base HOOK ABI for hook_type detection', async () => {
242
+ const provider = new StarknetProviderTestHarness();
243
+ provider.hookTypeValue = { MERKLE_TREE: {} };
244
+ const hookType = await provider.getHookType({ hookAddress: '0x1' });
245
+ expect(hookType).to.equal(AltVM.HookType.MERKLE_TREE);
246
+ expect(provider.contractSelections).to.deep.equal([
247
+ StarknetContractName.HOOK,
248
+ ]);
249
+ });
250
+ it('returns custom when hook_type probe misses', async () => {
251
+ const provider = new StarknetProviderTestHarness();
252
+ provider.hookTypeThrows = true;
253
+ provider.hookTypeErrorMessage = 'viewable method not found in abi';
254
+ const hookType = await provider.getHookType({ hookAddress: '0x1' });
255
+ expect(hookType).to.equal(AltVM.HookType.CUSTOM);
256
+ expect(provider.contractSelections).to.deep.equal([
257
+ StarknetContractName.HOOK,
258
+ ]);
259
+ });
260
+ it('rethrows unexpected hook_type failures', async () => {
261
+ const provider = new StarknetProviderTestHarness();
262
+ provider.hookTypeThrows = true;
263
+ let caughtError;
264
+ try {
265
+ await provider.getHookType({ hookAddress: '0x1' });
266
+ }
267
+ catch (error) {
268
+ caughtError = error;
269
+ }
270
+ expect(String(caughtError)).to.include('hook_type failed');
271
+ });
272
+ });
273
+ describe('StarknetProvider getIsmType', () => {
274
+ it('recognizes noop/test module_type variants as testIsm', async () => {
275
+ const provider = new StarknetProviderTestHarness();
276
+ provider.ismTypeValue = { NULL: {} };
277
+ const ismType = await provider.getIsmType({ ismAddress: '0x1' });
278
+ expect(ismType).to.equal(AltVM.IsmType.TEST_ISM);
279
+ });
280
+ it('returns custom for unknown module_type variants', async () => {
281
+ const provider = new StarknetProviderTestHarness();
282
+ provider.ismTypeValue = { AGGREGATION: {} };
283
+ const ismType = await provider.getIsmType({ ismAddress: '0x1' });
284
+ expect(ismType).to.equal(AltVM.IsmType.CUSTOM);
285
+ });
286
+ it('returns custom when module_type probe misses', async () => {
287
+ const provider = new StarknetProviderTestHarness();
288
+ provider.ismTypeThrows = true;
289
+ provider.ismTypeErrorMessage = 'viewable method not found in abi';
290
+ const ismType = await provider.getIsmType({ ismAddress: '0x1' });
291
+ expect(ismType).to.equal(AltVM.IsmType.CUSTOM);
292
+ });
293
+ it('rethrows unexpected module_type lookup failures', async () => {
294
+ const provider = new StarknetProviderTestHarness();
295
+ provider.ismTypeThrows = true;
296
+ let caughtError;
297
+ try {
298
+ await provider.getIsmType({ ismAddress: '0x1' });
299
+ }
300
+ catch (error) {
301
+ caughtError = error;
302
+ }
303
+ expect(String(caughtError)).to.include('module_type failed');
304
+ });
305
+ });
306
+ describe('StarknetProvider getBalance', () => {
307
+ it('falls back to balance_of when balanceOf probe misses', async () => {
308
+ const provider = new StarknetProviderTestHarness();
309
+ provider.balanceOfThrows = true;
310
+ provider.balanceOfErrorMessage = 'entry point not found in abi';
311
+ const balance = await provider.getBalance({ address: '0x1' });
312
+ expect(balance).to.equal(9n);
313
+ });
314
+ it('rethrows unexpected balanceOf failures', async () => {
315
+ const provider = new StarknetProviderTestHarness();
316
+ provider.balanceOfThrows = true;
317
+ let caughtError;
318
+ try {
319
+ await provider.getBalance({ address: '0x1' });
320
+ }
321
+ catch (error) {
322
+ caughtError = error;
323
+ }
324
+ expect(String(caughtError)).to.include('balanceOf failed');
325
+ });
326
+ });
327
+ describe('StarknetProvider getCreateMailboxTransaction', () => {
328
+ it('passes hook addresses through mailbox constructor args', async () => {
329
+ const provider = new StarknetProviderTestHarness();
330
+ const tx = await provider.getCreateMailboxTransaction({
331
+ signer: '0x1111111111111111111111111111111111111111111111111111111111111111',
332
+ domainId: TEST_METADATA.domainId,
333
+ defaultIsmAddress: '0x2222222222222222222222222222222222222222222222222222222222222222',
334
+ defaultHookAddress: '0x3333333333333333333333333333333333333333333333333333333333333333',
335
+ requiredHookAddress: '0x4444444444444444444444444444444444444444444444444444444444444444',
336
+ });
337
+ expect(tx.kind).to.equal('deploy');
338
+ expect(tx.constructorArgs).to.deep.equal([
339
+ TEST_METADATA.domainId,
340
+ '0x1111111111111111111111111111111111111111111111111111111111111111',
341
+ '0x2222222222222222222222222222222222222222222222222222222222222222',
342
+ '0x3333333333333333333333333333333333333333333333333333333333333333',
343
+ '0x4444444444444444444444444444444444444444444444444444444444444444',
344
+ ]);
345
+ });
346
+ });
347
+ describe('StarknetProvider warp tx builders', () => {
348
+ it('leaves synthetic token metadata as strings for calldata compilation', async () => {
349
+ const provider = new StarknetTxTestHarness();
350
+ const tx = await provider.getCreateSyntheticTokenTransaction({
351
+ signer: '0x1111111111111111111111111111111111111111111111111111111111111111',
352
+ mailboxAddress: '0x2222222222222222222222222222222222222222222222222222222222222222',
353
+ name: 'TEST',
354
+ denom: 'TEST',
355
+ decimals: 18,
356
+ });
357
+ expect(tx.kind).to.equal('deploy');
358
+ expect(tx.constructorArgs?.[3]).to.equal('TEST');
359
+ expect(tx.constructorArgs?.[4]).to.equal('TEST');
360
+ const { abi } = getCompiledContract(StarknetContractName.HYP_ERC20, ContractType.TOKEN);
361
+ const calldata = new CallData(abi).compile('constructor', tx.constructorArgs ?? []);
362
+ expect(calldata.length).to.be.greaterThan(0);
363
+ });
364
+ it('includes transfer amount in native token remote transfer value', async () => {
365
+ const provider = new StarknetTxTestHarness();
366
+ provider.tokenType = AltVM.TokenType.native;
367
+ const tx = await provider.getRemoteTransferTransaction({
368
+ signer: '0x1111111111111111111111111111111111111111111111111111111111111111',
369
+ tokenAddress: '0x2222222222222222222222222222222222222222222222222222222222222222',
370
+ destinationDomainId: 1234,
371
+ recipient: '0x3333333333333333333333333333333333333333333333333333333333333333',
372
+ amount: '1',
373
+ gasLimit: '200000',
374
+ maxFee: { denom: feeDenom, amount: '2' },
375
+ });
376
+ expect(tx.kind).to.equal('invoke');
377
+ expect(tx.calldata?.[3]).to.equal(3n);
378
+ });
379
+ it('uses only gas quote as remote transfer value for synthetic tokens', async () => {
380
+ const provider = new StarknetTxTestHarness();
381
+ provider.tokenType = AltVM.TokenType.synthetic;
382
+ const tx = await provider.getRemoteTransferTransaction({
383
+ signer: '0x1111111111111111111111111111111111111111111111111111111111111111',
384
+ tokenAddress: '0x2222222222222222222222222222222222222222222222222222222222222222',
385
+ destinationDomainId: 1234,
386
+ recipient: '0x3333333333333333333333333333333333333333333333333333333333333333',
387
+ amount: '1',
388
+ gasLimit: '200000',
389
+ maxFee: { denom: feeDenom, amount: '2' },
390
+ });
391
+ expect(tx.kind).to.equal('invoke');
392
+ expect(tx.calldata?.[3]).to.equal(2n);
393
+ });
394
+ it('uses only gas quote as remote transfer value for collateral tokens', async () => {
395
+ const provider = new StarknetTxTestHarness();
396
+ provider.tokenType = AltVM.TokenType.collateral;
397
+ provider.tokenDenom =
398
+ '0x999999999999999999999999999999999999999999999999999999999999999';
399
+ const tx = await provider.getRemoteTransferTransaction({
400
+ signer: '0x1111111111111111111111111111111111111111111111111111111111111111',
401
+ tokenAddress: '0x2222222222222222222222222222222222222222222222222222222222222222',
402
+ destinationDomainId: 1234,
403
+ recipient: '0x3333333333333333333333333333333333333333333333333333333333333333',
404
+ amount: '1',
405
+ gasLimit: '200000',
406
+ maxFee: { denom: feeDenom, amount: '2' },
407
+ });
408
+ expect(tx.kind).to.equal('invoke');
409
+ expect(tx.calldata?.[3]).to.equal(2n);
410
+ });
411
+ it('keeps collateral remote transfer value as gas quote when fee denom matches collateral denom', async () => {
412
+ const provider = new StarknetTxTestHarness();
413
+ provider.tokenType = AltVM.TokenType.collateral;
414
+ provider.tokenDenom = feeDenom;
415
+ const tx = await provider.getRemoteTransferTransaction({
416
+ signer: '0x1111111111111111111111111111111111111111111111111111111111111111',
417
+ tokenAddress: '0x2222222222222222222222222222222222222222222222222222222222222222',
418
+ destinationDomainId: 1234,
419
+ recipient: '0x3333333333333333333333333333333333333333333333333333333333333333',
420
+ amount: '1',
421
+ gasLimit: '200000',
422
+ maxFee: { denom: feeDenom, amount: '2' },
423
+ });
424
+ expect(tx.kind).to.equal('invoke');
425
+ expect(tx.calldata?.[3]).to.equal(2n);
426
+ });
427
+ it('uses mailbox default hook and ism when creating native tokens', async () => {
428
+ const provider = new StarknetCreateTokenTxHarness();
429
+ const tx = await provider.getCreateNativeTokenTransaction({
430
+ signer: '0x2222222222222222222222222222222222222222222222222222222222222222',
431
+ mailboxAddress: '0x1111111111111111111111111111111111111111111111111111111111111111',
432
+ });
433
+ expect(tx.kind).to.equal('deploy');
434
+ expect(tx.constructorArgs?.[2]).to.equal('0x4444444444444444444444444444444444444444444444444444444444444444');
435
+ expect(tx.constructorArgs?.[3]).to.equal('0x3333333333333333333333333333333333333333333333333333333333333333');
436
+ });
437
+ });
438
+ describe('StarknetProvider determineTokenType', () => {
439
+ it('detects HypNative contracts by class hash', async function () {
440
+ this.timeout(10_000);
441
+ const provider = new StarknetTokenTypeTestHarness();
442
+ provider.classHash =
443
+ '0x619ec108cdaaa2ea54b15fc7f4bf321de475dbc2827c72a561e02c092492c25';
444
+ const tokenType = await provider.readTokenType('0x123');
445
+ expect(tokenType).to.equal(AltVM.TokenType.native);
446
+ });
447
+ });
448
+ describe('StarknetProvider isMessageDelivered', () => {
449
+ it('parses zero-like Starknet values as false', async () => {
450
+ const provider = new StarknetProviderTestHarness();
451
+ provider.deliveredValue = '0';
452
+ const delivered = await provider.isMessageDelivered({
453
+ mailboxAddress: '0x1',
454
+ messageId: '0x2',
455
+ });
456
+ expect(delivered).to.equal(false);
457
+ });
458
+ it('parses non-zero Starknet values as true', async () => {
459
+ const provider = new StarknetProviderTestHarness();
460
+ provider.deliveredValue = '1';
461
+ const delivered = await provider.isMessageDelivered({
462
+ mailboxAddress: '0x1',
463
+ messageId: '0x2',
464
+ });
465
+ expect(delivered).to.equal(true);
466
+ });
467
+ });
468
+ describe('StarknetProvider getBridgedSupply', () => {
469
+ it('returns synthetic total supply for synthetic tokens', async () => {
470
+ const provider = new StarknetBridgedSupplyTestHarness();
471
+ provider.tokenType = AltVM.TokenType.synthetic;
472
+ provider.syntheticSupply = 444n;
473
+ const bridgedSupply = await provider.getBridgedSupply({
474
+ tokenAddress: '0xabc',
475
+ });
476
+ expect(bridgedSupply).to.equal(444n);
477
+ expect(provider.capturedBalanceReq).to.equal(undefined);
478
+ });
479
+ it('returns underlying token balance for non-synthetic tokens', async () => {
480
+ const provider = new StarknetBridgedSupplyTestHarness();
481
+ provider.tokenType = AltVM.TokenType.collateral;
482
+ provider.tokenDenom = '0xdef';
483
+ const bridgedSupply = await provider.getBridgedSupply({
484
+ tokenAddress: '0xabc',
485
+ });
486
+ expect(bridgedSupply).to.equal(777n);
487
+ expect(provider.capturedBalanceReq).to.deep.equal({
488
+ address: '0xabc',
489
+ denom: '0xdef',
490
+ });
491
+ });
492
+ });
493
+ //# sourceMappingURL=provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.test.js","sourceRoot":"","sources":["../../src/clients/provider.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { RpcProvider } from 'starknet';
2
+ import { AltVM } from '@humanode-hyperlane/provider-sdk';
3
+ import { ChainMetadataForAltVM } from '@humanode-hyperlane/provider-sdk/chain';
4
+ import { StarknetAnnotatedTx, StarknetTxReceipt } from '../types.js';
5
+ import { StarknetProvider } from './provider.js';
6
+ export declare class StarknetSigner extends StarknetProvider implements AltVM.ISigner<StarknetAnnotatedTx, StarknetTxReceipt> {
7
+ private readonly signerAddress;
8
+ private static readStringField;
9
+ static connectWithSigner(rpcUrls: string[], privateKey: string, extraParams?: {
10
+ metadata?: ChainMetadataForAltVM;
11
+ accountAddress?: string;
12
+ }): Promise<StarknetSigner>;
13
+ private readonly account;
14
+ protected constructor(provider: RpcProvider, metadata: ChainMetadataForAltVM, rpcUrls: string[], signerAddress: string, privateKey: string);
15
+ protected get accountAddress(): string;
16
+ getSignerAddress(): string;
17
+ supportsTransactionBatching(): boolean;
18
+ transactionToPrintableJson(transaction: StarknetAnnotatedTx): Promise<object>;
19
+ private assertSuccessfulReceipt;
20
+ private deployContract;
21
+ sendAndConfirmTransaction(transaction: StarknetAnnotatedTx): Promise<StarknetTxReceipt>;
22
+ sendAndConfirmBatchTransactions(transactions: StarknetAnnotatedTx[]): Promise<StarknetTxReceipt>;
23
+ estimateTransactionFee(req: AltVM.ReqEstimateTransactionFee<StarknetAnnotatedTx>): Promise<AltVM.ResEstimateTransactionFee>;
24
+ createMailbox(req: Omit<AltVM.ReqCreateMailbox, 'signer'>): Promise<AltVM.ResCreateMailbox>;
25
+ setDefaultIsm(req: Omit<AltVM.ReqSetDefaultIsm, 'signer'>): Promise<AltVM.ResSetDefaultIsm>;
26
+ setDefaultHook(req: Omit<AltVM.ReqSetDefaultHook, 'signer'>): Promise<AltVM.ResSetDefaultHook>;
27
+ setRequiredHook(req: Omit<AltVM.ReqSetRequiredHook, 'signer'>): Promise<AltVM.ResSetRequiredHook>;
28
+ setMailboxOwner(req: Omit<AltVM.ReqSetMailboxOwner, 'signer'>): Promise<AltVM.ResSetMailboxOwner>;
29
+ createMerkleRootMultisigIsm(req: Omit<AltVM.ReqCreateMerkleRootMultisigIsm, 'signer'>): Promise<AltVM.ResCreateMerkleRootMultisigIsm>;
30
+ createMessageIdMultisigIsm(req: Omit<AltVM.ReqCreateMessageIdMultisigIsm, 'signer'>): Promise<AltVM.ResCreateMessageIdMultisigIsm>;
31
+ createRoutingIsm(req: Omit<AltVM.ReqCreateRoutingIsm, 'signer'>): Promise<AltVM.ResCreateRoutingIsm>;
32
+ setRoutingIsmRoute(req: Omit<AltVM.ReqSetRoutingIsmRoute, 'signer'>): Promise<AltVM.ResSetRoutingIsmRoute>;
33
+ removeRoutingIsmRoute(req: Omit<AltVM.ReqRemoveRoutingIsmRoute, 'signer'>): Promise<AltVM.ResRemoveRoutingIsmRoute>;
34
+ setRoutingIsmOwner(req: Omit<AltVM.ReqSetRoutingIsmOwner, 'signer'>): Promise<AltVM.ResSetRoutingIsmOwner>;
35
+ createNoopIsm(req: Omit<AltVM.ReqCreateNoopIsm, 'signer'>): Promise<AltVM.ResCreateNoopIsm>;
36
+ createMerkleTreeHook(req: Omit<AltVM.ReqCreateMerkleTreeHook, 'signer'>): Promise<AltVM.ResCreateMerkleTreeHook>;
37
+ createInterchainGasPaymasterHook(req: Omit<AltVM.ReqCreateInterchainGasPaymasterHook, 'signer'>): Promise<AltVM.ResCreateInterchainGasPaymasterHook>;
38
+ setInterchainGasPaymasterHookOwner(req: Omit<AltVM.ReqSetInterchainGasPaymasterHookOwner, 'signer'>): Promise<AltVM.ResSetInterchainGasPaymasterHookOwner>;
39
+ setDestinationGasConfig(req: Omit<AltVM.ReqSetDestinationGasConfig, 'signer'>): Promise<AltVM.ResSetDestinationGasConfig>;
40
+ removeDestinationGasConfig(req: Omit<AltVM.ReqRemoveDestinationGasConfig, 'signer'>): Promise<AltVM.ResRemoveDestinationGasConfig>;
41
+ createNoopHook(req: Omit<AltVM.ReqCreateNoopHook, 'signer'>): Promise<AltVM.ResCreateNoopHook>;
42
+ createValidatorAnnounce(req: Omit<AltVM.ReqCreateValidatorAnnounce, 'signer'>): Promise<AltVM.ResCreateValidatorAnnounce>;
43
+ createProxyAdmin(_req: Omit<AltVM.ReqCreateProxyAdmin, 'signer'>): Promise<AltVM.ResCreateProxyAdmin>;
44
+ setProxyAdminOwner(_req: Omit<AltVM.ReqSetProxyAdminOwner, 'signer'>): Promise<AltVM.ResSetProxyAdminOwner>;
45
+ createNativeToken(req: Omit<AltVM.ReqCreateNativeToken, 'signer'>): Promise<AltVM.ResCreateNativeToken>;
46
+ createCollateralToken(req: Omit<AltVM.ReqCreateCollateralToken, 'signer'>): Promise<AltVM.ResCreateCollateralToken>;
47
+ createSyntheticToken(req: Omit<AltVM.ReqCreateSyntheticToken, 'signer'>): Promise<AltVM.ResCreateSyntheticToken>;
48
+ setTokenOwner(req: Omit<AltVM.ReqSetTokenOwner, 'signer'>): Promise<AltVM.ResSetTokenOwner>;
49
+ setTokenIsm(req: Omit<AltVM.ReqSetTokenIsm, 'signer'>): Promise<AltVM.ResSetTokenIsm>;
50
+ setTokenHook(req: Omit<AltVM.ReqSetTokenHook, 'signer'>): Promise<AltVM.ResSetTokenHook>;
51
+ enrollRemoteRouter(req: Omit<AltVM.ReqEnrollRemoteRouter, 'signer'>): Promise<AltVM.ResEnrollRemoteRouter>;
52
+ unenrollRemoteRouter(req: Omit<AltVM.ReqUnenrollRemoteRouter, 'signer'>): Promise<AltVM.ResUnenrollRemoteRouter>;
53
+ transfer(req: Omit<AltVM.ReqTransfer, 'signer'>): Promise<AltVM.ResTransfer>;
54
+ remoteTransfer(req: Omit<AltVM.ReqRemoteTransfer, 'signer'>): Promise<AltVM.ResRemoteTransfer>;
55
+ }
56
+ //# sourceMappingURL=signer.d.ts.map