@layerzerolabs/lz-sui-sdk-v2 3.0.134-sui.3 → 3.0.134

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 (162) hide show
  1. package/deployments/sui-sandbox-local/blocked_message_lib.json +18 -18
  2. package/deployments/sui-sandbox-local/blocked_msglib_ptb_builder.json +25 -25
  3. package/deployments/sui-sandbox-local/counter.json +47 -82
  4. package/deployments/sui-sandbox-local/dvn.json +14 -15
  5. package/deployments/sui-sandbox-local/dvn_call_type.json +21 -21
  6. package/deployments/sui-sandbox-local/dvn_fee_lib.json +27 -27
  7. package/deployments/sui-sandbox-local/dvn_layerzero.json +24 -24
  8. package/deployments/sui-sandbox-local/dvn_ptb_builder.json +14 -14
  9. package/deployments/sui-sandbox-local/endpoint_ptb_builder.json +26 -26
  10. package/deployments/sui-sandbox-local/endpoint_v2.json +25 -25
  11. package/deployments/sui-sandbox-local/executor.json +14 -15
  12. package/deployments/sui-sandbox-local/executor_call_type.json +28 -28
  13. package/deployments/sui-sandbox-local/executor_fee_lib.json +28 -28
  14. package/deployments/sui-sandbox-local/executor_layerzero.json +17 -17
  15. package/deployments/sui-sandbox-local/executor_ptb_builder.json +21 -21
  16. package/deployments/sui-sandbox-local/layerzero_views.json +13 -13
  17. package/deployments/sui-sandbox-local/message_lib_common.json +21 -21
  18. package/deployments/sui-sandbox-local/msglib_ptb_builder_call_types.json +13 -13
  19. package/deployments/sui-sandbox-local/oapp.json +21 -23
  20. package/deployments/sui-sandbox-local/object-BlockedMessageLib.json +5 -5
  21. package/deployments/sui-sandbox-local/object-BlockedMsglibPtbBuilder.json +5 -5
  22. package/deployments/sui-sandbox-local/object-Counter.json +5 -5
  23. package/deployments/sui-sandbox-local/object-CounterAdminCap.json +5 -5
  24. package/deployments/sui-sandbox-local/object-CounterOApp.json +5 -5
  25. package/deployments/sui-sandbox-local/object-DVN.json +2 -2
  26. package/deployments/sui-sandbox-local/object-DVNCap.json +4 -4
  27. package/deployments/sui-sandbox-local/object-DVNFeeLib.json +5 -5
  28. package/deployments/sui-sandbox-local/object-EndpointPtbBuilder.json +5 -5
  29. package/deployments/sui-sandbox-local/object-EndpointPtbBuilderAdminCap.json +5 -5
  30. package/deployments/sui-sandbox-local/object-EndpointV2.json +5 -5
  31. package/deployments/sui-sandbox-local/object-EndpointV2AdminCap.json +5 -5
  32. package/deployments/sui-sandbox-local/object-Executor.json +2 -2
  33. package/deployments/sui-sandbox-local/object-ExecutorCap.json +4 -4
  34. package/deployments/sui-sandbox-local/object-ExecutorFeeLib.json +5 -5
  35. package/deployments/sui-sandbox-local/object-ExecutorOwnerCap.json +2 -2
  36. package/deployments/sui-sandbox-local/object-PackageWhitelistValidator.json +5 -5
  37. package/deployments/sui-sandbox-local/object-PriceFeed.json +5 -5
  38. package/deployments/sui-sandbox-local/object-PriceFeedOwnerCap.json +5 -5
  39. package/deployments/sui-sandbox-local/object-SimpleMessageLib.json +5 -5
  40. package/deployments/sui-sandbox-local/object-SimpleMessageLibAdminCap.json +5 -5
  41. package/deployments/sui-sandbox-local/object-SmlPtbBuilder.json +5 -5
  42. package/deployments/sui-sandbox-local/object-Treasury.json +5 -5
  43. package/deployments/sui-sandbox-local/object-TreasuryAdminCap.json +5 -5
  44. package/deployments/sui-sandbox-local/object-ULN302.json +5 -5
  45. package/deployments/sui-sandbox-local/object-ULN302AdminCap.json +5 -5
  46. package/deployments/sui-sandbox-local/object-Uln302PtbBuilder.json +5 -5
  47. package/deployments/sui-sandbox-local/object-Uln302Verification.json +5 -5
  48. package/deployments/sui-sandbox-local/package_whitelist_validator.json +51 -51
  49. package/deployments/sui-sandbox-local/price_feed.json +39 -39
  50. package/deployments/sui-sandbox-local/price_feed_call_types.json +19 -19
  51. package/deployments/sui-sandbox-local/ptb_move_call.json +20 -20
  52. package/deployments/sui-sandbox-local/simple_message_lib.json +33 -33
  53. package/deployments/sui-sandbox-local/simple_msglib_ptb_builder.json +18 -18
  54. package/deployments/sui-sandbox-local/treasury.json +41 -41
  55. package/deployments/sui-sandbox-local/uln_302.json +47 -43
  56. package/deployments/sui-sandbox-local/uln_302_ptb_builder.json +18 -18
  57. package/deployments/sui-sandbox-local/worker_common.json +14 -15
  58. package/deployments/sui-testnet/blocked_message_lib.json +22 -22
  59. package/deployments/sui-testnet/blocked_msglib_ptb_builder.json +29 -29
  60. package/deployments/sui-testnet/call.json +21 -21
  61. package/deployments/sui-testnet/counter.json +40 -40
  62. package/deployments/sui-testnet/dvn.json +21 -22
  63. package/deployments/sui-testnet/dvn_call_type.json +19 -19
  64. package/deployments/sui-testnet/dvn_fee_lib.json +26 -26
  65. package/deployments/sui-testnet/dvn_layerzero.json +24 -24
  66. package/deployments/sui-testnet/dvn_ptb_builder.json +20 -20
  67. package/deployments/sui-testnet/endpoint_ptb_builder.json +30 -30
  68. package/deployments/sui-testnet/endpoint_v2.json +26 -26
  69. package/deployments/sui-testnet/executor.json +21 -22
  70. package/deployments/sui-testnet/executor_call_type.json +19 -19
  71. package/deployments/sui-testnet/executor_fee_lib.json +18 -18
  72. package/deployments/sui-testnet/executor_layerzero.json +25 -25
  73. package/deployments/sui-testnet/executor_ptb_builder.json +20 -20
  74. package/deployments/sui-testnet/layerzero_views.json +13 -13
  75. package/deployments/sui-testnet/message_lib_common.json +21 -21
  76. package/deployments/sui-testnet/msglib_ptb_builder_call_types.json +13 -13
  77. package/deployments/sui-testnet/oapp.json +13 -15
  78. package/deployments/sui-testnet/object-BlockedMessageLib.json +5 -5
  79. package/deployments/sui-testnet/object-BlockedMsglibPtbBuilder.json +5 -5
  80. package/deployments/sui-testnet/object-Counter.json +5 -5
  81. package/deployments/sui-testnet/object-CounterAdminCap.json +5 -5
  82. package/deployments/sui-testnet/object-CounterOApp.json +5 -5
  83. package/deployments/sui-testnet/object-DVN.json +2 -2
  84. package/deployments/sui-testnet/object-DVNCap.json +5 -5
  85. package/deployments/sui-testnet/object-DVNFeeLib.json +5 -5
  86. package/deployments/sui-testnet/object-EndpointPtbBuilder.json +5 -5
  87. package/deployments/sui-testnet/object-EndpointPtbBuilderAdminCap.json +5 -5
  88. package/deployments/sui-testnet/object-EndpointV2.json +5 -5
  89. package/deployments/sui-testnet/object-EndpointV2AdminCap.json +5 -5
  90. package/deployments/sui-testnet/object-Executor.json +2 -2
  91. package/deployments/sui-testnet/object-ExecutorCap.json +5 -5
  92. package/deployments/sui-testnet/object-ExecutorFeeLib.json +5 -5
  93. package/deployments/sui-testnet/object-ExecutorOwnerCap.json +2 -2
  94. package/deployments/sui-testnet/object-PackageWhitelistValidator.json +5 -5
  95. package/deployments/sui-testnet/object-PriceFeed.json +5 -5
  96. package/deployments/sui-testnet/object-PriceFeedOwnerCap.json +5 -5
  97. package/deployments/sui-testnet/object-SimpleMessageLib.json +5 -5
  98. package/deployments/sui-testnet/object-SimpleMessageLibAdminCap.json +5 -5
  99. package/deployments/sui-testnet/object-SmlPtbBuilder.json +5 -5
  100. package/deployments/sui-testnet/object-Treasury.json +5 -5
  101. package/deployments/sui-testnet/object-TreasuryAdminCap.json +5 -5
  102. package/deployments/sui-testnet/object-ULN302.json +5 -5
  103. package/deployments/sui-testnet/object-ULN302AdminCap.json +5 -5
  104. package/deployments/sui-testnet/object-Uln302PtbBuilder.json +5 -5
  105. package/deployments/sui-testnet/object-Uln302Verification.json +5 -5
  106. package/deployments/sui-testnet/object-ZroCoinMetadata.json +5 -5
  107. package/deployments/sui-testnet/object-ZroTreasuryCap.json +5 -5
  108. package/deployments/sui-testnet/package_whitelist_validator.json +44 -44
  109. package/deployments/sui-testnet/price_feed.json +25 -25
  110. package/deployments/sui-testnet/price_feed_call_types.json +12 -12
  111. package/deployments/sui-testnet/ptb_move_call.json +21 -21
  112. package/deployments/sui-testnet/simple_message_lib.json +29 -29
  113. package/deployments/sui-testnet/simple_msglib_ptb_builder.json +26 -26
  114. package/deployments/sui-testnet/treasury.json +58 -30
  115. package/deployments/sui-testnet/uln_302.json +32 -28
  116. package/deployments/sui-testnet/uln_302_ptb_builder.json +25 -25
  117. package/deployments/sui-testnet/utils.json +12 -12
  118. package/deployments/sui-testnet/worker_common.json +20 -21
  119. package/deployments/sui-testnet/zro.json +28 -28
  120. package/dist/index.cjs +418 -1193
  121. package/dist/index.cjs.map +1 -1
  122. package/dist/index.d.mts +343 -693
  123. package/dist/index.d.ts +343 -693
  124. package/dist/index.mjs +418 -1182
  125. package/dist/index.mjs.map +1 -1
  126. package/package.json +7 -7
  127. package/src/bcs/index.ts +1 -2
  128. package/src/generated/addresses.ts +105 -123
  129. package/src/module-manager.ts +3 -15
  130. package/src/modules/call.ts +6 -16
  131. package/src/modules/endpoint.ts +4 -12
  132. package/src/modules/message-libs/simple-message-lib.ts +2 -3
  133. package/src/modules/message-libs/uln302.ts +26 -28
  134. package/src/modules/oapps/counter.ts +50 -34
  135. package/src/modules/oapps/oapp.ts +74 -489
  136. package/src/modules/ptb-builders/endpoint-ptb-builder.ts +3 -9
  137. package/src/modules/ptb-builders/ptb-builder.ts +4 -19
  138. package/src/modules/ptb-builders/uln302-ptb-builder.ts +0 -5
  139. package/src/modules/workers/dvn-layerzero.ts +0 -9
  140. package/src/modules/workers/dvn.ts +6 -214
  141. package/src/modules/workers/executor-fee-lib.ts +3 -11
  142. package/src/modules/workers/executor-layerzero.ts +0 -9
  143. package/src/modules/workers/executor.ts +0 -115
  144. package/src/modules/workers/index.ts +0 -1
  145. package/src/modules/workers/treasury.ts +4 -4
  146. package/src/resource.ts +0 -3
  147. package/src/sdk.ts +2 -7
  148. package/src/types/endpoint.ts +1 -2
  149. package/src/types/modules.ts +0 -1
  150. package/src/types/options.ts +0 -15
  151. package/src/utils/transaction.ts +3 -3
  152. package/deployments/sui-sandbox-local/object-WorkerRegistry.json +0 -9
  153. package/deployments/sui-sandbox-local/sequential_multi_call.json +0 -45
  154. package/deployments/sui-sandbox-local/uln_common.json +0 -49
  155. package/deployments/sui-sandbox-local/worker_registry.json +0 -58
  156. package/deployments/sui-testnet/object-WorkerRegistry.json +0 -9
  157. package/deployments/sui-testnet/sequential_multi_call.json +0 -45
  158. package/deployments/sui-testnet/uln_common.json +0 -49
  159. package/deployments/sui-testnet/worker_registry.json +0 -58
  160. package/src/bcs/oapp.ts +0 -14
  161. package/src/modules/workers/worker-registry.ts +0 -110
  162. package/src/types/oapp.ts +0 -6
@@ -19,7 +19,7 @@ import {
19
19
 
20
20
  const MODULE_NAME = 'uln_302'
21
21
 
22
- // ULN-302 specific error codes (matching uln-302 contract files)
22
+ // ULN-302 specific error codes
23
23
  export const Uln302ErrorCode = {
24
24
  SendUln302_EDefaultExecutorConfigNotFound: 1,
25
25
  SendUln302_EDefaultUlnConfigNotFound: 2,
@@ -33,28 +33,10 @@ export const Uln302ErrorCode = {
33
33
  ReceiveUln302_EOAppUlnConfigNotFound: 4,
34
34
  ReceiveUln302_EVerifying: 5,
35
35
 
36
- Uln302_EInvalidConfigType: 1,
37
- Uln302_EInvalidMessagingChannel: 2,
38
- Uln302_EUnsupportedEid: 3,
39
-
40
- // UlnConfig related errors (matching uln_config.move)
41
- UlnConfig_EAtLeastOneDVN: 1,
42
- UlnConfig_EDuplicateOptionalDVNs: 2,
43
- UlnConfig_EDuplicateRequiredDVNs: 3,
44
- UlnConfig_EInvalidOptionalDVNCount: 4,
45
- UlnConfig_EInvalidOptionalDVNThreshold: 5,
46
- UlnConfig_EInvalidRequiredDVNCount: 6,
47
- UlnConfig_EInvalidUlnConfigBytes: 7,
48
-
49
- // OAppUlnConfig related errors (matching oapp_uln_config.move)
50
- OAppUlnConfig_EInvalidConfirmations: 1,
51
- OAppUlnConfig_EInvalidRequiredDVNs: 2,
52
- OAppUlnConfig_EInvalidOptionalDVNs: 3,
53
-
54
- // ExecutorConfig related errors (matching executor_config.move)
55
- ExecutorConfig_EInvalidExecutorAddress: 1,
56
- ExecutorConfig_EInvalidExecutorBytes: 2,
57
- ExecutorConfig_EZeroMessageSize: 3,
36
+ Uln302_EEndpointInitialized: 1,
37
+ Uln302_EInvalidConfigType: 2,
38
+ Uln302_EInvalidMessagingChannel: 3,
39
+ Uln302_EUnsupportedEid: 4,
58
40
  } as const
59
41
 
60
42
  export class Uln302 {
@@ -180,16 +162,32 @@ export class Uln302 {
180
162
  }
181
163
 
182
164
  /**
183
- * Verify packet move call with DVN call (new API)
184
- * Note: This is typically called by DVNs via Call objects, not directly by users
165
+ * Verify packet move call with DVN signatures
166
+ * Note: This is typically called by DVNs, not directly by users
185
167
  * @param tx - The transaction to add the move call to
186
168
  * @param verification - The verification object address or transaction argument
187
- * @param call - The DVN verification call containing verification parameters
169
+ * @param dvn - The DVN address performing verification or transaction argument
170
+ * @param packetHeader - The packet header as bytes or transaction argument
171
+ * @param payloadHash - The payload hash as bytes or transaction argument
172
+ * @param confirmations - Required confirmations count or transaction argument
188
173
  */
189
- verifyMoveCall(tx: Transaction, verification: string | TransactionArgument, call: TransactionArgument): void {
174
+ verifyMoveCall(
175
+ tx: Transaction,
176
+ verification: string | TransactionArgument,
177
+ dvn: string | TransactionArgument,
178
+ packetHeader: Uint8Array | TransactionArgument,
179
+ payloadHash: Uint8Array | TransactionArgument,
180
+ confirmations: bigint | TransactionArgument
181
+ ): void {
190
182
  tx.moveCall({
191
183
  target: this.#target('verify'),
192
- arguments: [tx.object(this.objects.uln302), asObject(tx, verification), call],
184
+ arguments: [
185
+ asObject(tx, verification),
186
+ asObject(tx, dvn),
187
+ asBytes(tx, packetHeader),
188
+ asBytes32(tx, payloadHash, this.moduleManager.getUtils()),
189
+ asU64(tx, confirmations),
190
+ ],
193
191
  })
194
192
  }
195
193
 
@@ -7,11 +7,11 @@ import { EndpointId } from '@layerzerolabs/lz-definitions'
7
7
  import { ModuleManager } from '../../module-manager'
8
8
  import { MessagingFee, ObjectOptions } from '../../types'
9
9
  import {
10
- IPTBValidator,
11
10
  asAddress,
12
11
  asBool,
13
12
  asBytes,
14
13
  asBytes32,
14
+ asObject,
15
15
  asU32,
16
16
  asU64,
17
17
  asU8,
@@ -22,16 +22,15 @@ import {
22
22
  const MODULE_NAME = 'counter'
23
23
 
24
24
  export const CounterErrorCode = {
25
- // Counter related errors (matching counter.move)
25
+ // Counter related errors
26
26
  Counter_EInvalidMsgType: 0,
27
27
  Counter_EInvalidValue: 1,
28
28
  Counter_EInvalidNonce: 2,
29
29
  Counter_EOnlyEndpoint: 3,
30
30
  Counter_ESelfComposeOnly: 4,
31
31
  Counter_EInvalidOApp: 5,
32
-
33
- // OptionsBuilder related errors (matching options_builder.move)
34
- OptionsBuilder_EInvalidSize: 1,
32
+ Counter_EInvalidAdminCap: 6,
33
+ Counter_EAlreadyInitialized: 7,
35
34
  } as const
36
35
 
37
36
  export class Counter {
@@ -84,8 +83,7 @@ export class Counter {
84
83
  dstEid: EndpointId | TransactionArgument,
85
84
  msgType: number | TransactionArgument,
86
85
  options: Uint8Array | TransactionArgument,
87
- payInZero: boolean | TransactionArgument,
88
- validators?: IPTBValidator[]
86
+ payInZero: boolean | TransactionArgument
89
87
  ): Promise<MessagingFee> {
90
88
  const tx = new Transaction()
91
89
  const quoteCall = tx.moveCall({
@@ -99,7 +97,7 @@ export class Counter {
99
97
  asBool(tx, payInZero),
100
98
  ],
101
99
  })
102
- return this.moduleManager.getEndpoint().quote(tx, quoteCall, undefined, validators)
100
+ return this.moduleManager.getEndpoint().quote(tx, quoteCall)
103
101
  }
104
102
 
105
103
  /**
@@ -123,8 +121,7 @@ export class Counter {
123
121
  sendValue: bigint | TransactionArgument,
124
122
  nativeFee: bigint | TransactionArgument,
125
123
  zroFee: bigint | TransactionArgument,
126
- refundAddress: string | TransactionArgument,
127
- validators?: IPTBValidator[]
124
+ refundAddress: string | TransactionArgument
128
125
  ): Promise<void> {
129
126
  const [nativeToken] = tx.splitCoins(tx.gas, [asU64(tx, nativeFee)])
130
127
  const zroToken = isTransactionArgument(zroFee)
@@ -144,55 +141,74 @@ export class Counter {
144
141
  asAddress(tx, refundAddress),
145
142
  ],
146
143
  })
147
- await this.moduleManager.getEndpoint().populateSendTransaction(tx, incrementCall, sender, validators)
144
+ await this.moduleManager.getEndpoint().populateSendTransaction(tx, incrementCall, sender)
148
145
  }
149
146
 
150
147
  /**
151
- * Set LayerZero compose information for counter
148
+ * Set peer counter on another chain
152
149
  * @param tx - The transaction to add the move call to
153
- * @param lzComposeInfo - LayerZero compose information as bytes
150
+ * @param messagingChannel - The messaging channel object ID or transaction argument
151
+ * @param eid - The peer endpoint ID or transaction argument
152
+ * @param peer - The peer counter address as bytes or transaction argument
154
153
  */
155
- setLzComposeInfoMoveCall(tx: Transaction, lzComposeInfo: Uint8Array | TransactionArgument): void {
154
+ setPeerMoveCall(
155
+ tx: Transaction,
156
+ messagingChannel: string | TransactionArgument,
157
+ eid: number | TransactionArgument,
158
+ peer: Uint8Array | TransactionArgument
159
+ ): void {
156
160
  tx.moveCall({
157
- target: this.#target('set_lz_compose_info'),
161
+ target: this.#target('set_peer'),
158
162
  arguments: [
159
163
  tx.object(this.objects.counter),
160
164
  tx.object(this.objects.counterOapp),
161
165
  tx.object(this.objects.counterAdminCap),
162
166
  tx.object(this.objects.endpointV2),
163
- asBytes(tx, lzComposeInfo),
167
+ asObject(tx, messagingChannel),
168
+ asU32(tx, eid),
169
+ asBytes32(tx, peer, this.moduleManager.getUtils()),
164
170
  ],
165
171
  })
166
172
  }
167
173
 
168
- // === View Functions ===
169
-
170
174
  /**
171
- * Get counter EID
175
+ * Set delegate for the counter
172
176
  * @param tx - The transaction to add the move call to
173
- * @returns Transaction result containing the counter EID
177
+ * @param newDelegate - The new delegate address or transaction argument
174
178
  */
175
- getEidMoveCall(tx: Transaction): TransactionResult {
176
- return tx.moveCall({
177
- target: this.#target('eid'),
178
- arguments: [tx.object(this.objects.counter)],
179
+ setDelegateMoveCall(tx: Transaction, newDelegate: string | TransactionArgument): void {
180
+ tx.moveCall({
181
+ target: this.#target('set_delegate'),
182
+ arguments: [
183
+ tx.object(this.objects.counter),
184
+ tx.object(this.objects.counterOapp),
185
+ tx.object(this.objects.counterAdminCap),
186
+ tx.object(this.objects.endpointV2),
187
+ asAddress(tx, newDelegate),
188
+ ],
179
189
  })
180
190
  }
181
191
 
182
192
  /**
183
- * Get counter EID
184
- * @returns Promise<number> - The counter EID
193
+ * Set LayerZero compose information for counter
194
+ * @param tx - The transaction to add the move call to
195
+ * @param lzComposeInfo - LayerZero compose information as bytes
185
196
  */
186
- async getEid(): Promise<number> {
187
- return executeSimulate(
188
- this.client,
189
- (tx) => {
190
- this.getEidMoveCall(tx)
191
- },
192
- (result) => bcs.U32.parse(result[0].value)
193
- )
197
+ setLzComposeInfoMoveCall(tx: Transaction, lzComposeInfo: Uint8Array | TransactionArgument): void {
198
+ tx.moveCall({
199
+ target: this.#target('set_lz_compose_info'),
200
+ arguments: [
201
+ tx.object(this.objects.counter),
202
+ tx.object(this.objects.counterOapp),
203
+ tx.object(this.objects.counterAdminCap),
204
+ tx.object(this.objects.endpointV2),
205
+ asBytes(tx, lzComposeInfo),
206
+ ],
207
+ })
194
208
  }
195
209
 
210
+ // === View Functions ===
211
+
196
212
  /**
197
213
  * Get call capability address for counter
198
214
  * @param tx - The transaction to add the move call to