@layerzerolabs/ton-sdk-tools 3.0.27 → 3.0.29
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/CHANGELOG.md +12 -0
- package/dist/index.cjs +39 -245
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +39 -245
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -297,7 +297,7 @@ function parseDeclareLines(input, fieldMap) {
|
|
|
297
297
|
function parseFieldNames(strInput) {
|
|
298
298
|
const fieldMap = {};
|
|
299
299
|
const inverseFieldMap = {};
|
|
300
|
-
const regex = /^const\s+int\s+(?:[A-Za-z]+::)?[A-Za-z]\w+::(
|
|
300
|
+
const regex = /^const\s+int\s+(?:[A-Za-z]+::)?[A-Za-z]\w+::([A-Za-z0-9]+)\s*=\s*(\d+);/gm;
|
|
301
301
|
let match;
|
|
302
302
|
while ((match = regex.exec(strInput)) !== null) {
|
|
303
303
|
const [, fieldName, fieldIndexStr] = match;
|
|
@@ -3178,8 +3178,7 @@ function generateSmlTestUtils(directory, filename) {
|
|
|
3178
3178
|
fs__namespace.default.writeFileSync(path__namespace.default.join(directory, filename), savedCode);
|
|
3179
3179
|
}
|
|
3180
3180
|
function generateUlnTestUtils(directory, filename) {
|
|
3181
|
-
const savedCode = `
|
|
3182
|
-
import { Address, Cell, TupleItemCell, beginCell, toNano } from '@ton/core'
|
|
3181
|
+
const savedCode = `import { Address, Cell, TupleItemCell, beginCell, toNano } from '@ton/core'
|
|
3183
3182
|
import { Blockchain, SandboxContract, SendMessageResult, TreasuryContract } from '@ton/sandbox'
|
|
3184
3183
|
import { FlatTransactionComparable } from '@ton/test-utils'
|
|
3185
3184
|
import { ethers } from 'ethers'
|
|
@@ -3198,21 +3197,15 @@ import UlnManagerArtifact from '@layerzerolabs/layerzero-v2-ton/build/UlnManager
|
|
|
3198
3197
|
import { Profile, addressToBigInt, cellFromArtifact } from '@layerzerolabs/ton-sdk-tools'
|
|
3199
3198
|
|
|
3200
3199
|
import {
|
|
3201
|
-
ActionTypes,
|
|
3202
3200
|
OAppFixture,
|
|
3203
3201
|
OAppFlowGas,
|
|
3204
|
-
OutOfOrder,
|
|
3205
|
-
PacketInFlight,
|
|
3206
3202
|
ProtocolFixture,
|
|
3207
3203
|
SIGNATURE_BYTE_LENGTH,
|
|
3208
3204
|
addMsgLibToController,
|
|
3209
|
-
assertCommittableView,
|
|
3210
|
-
assertVerifiedView,
|
|
3211
3205
|
createLzPacketFromPacketEncoded,
|
|
3212
3206
|
createVerifierDictSet,
|
|
3213
3207
|
emptyObject,
|
|
3214
3208
|
generateRandomVerifierSet,
|
|
3215
|
-
lzReceiveAndExpect,
|
|
3216
3209
|
protocolSetupGas,
|
|
3217
3210
|
publicKeyToHash,
|
|
3218
3211
|
requireDefined,
|
|
@@ -3222,9 +3215,7 @@ import {
|
|
|
3222
3215
|
setDefaultEndpointConfig,
|
|
3223
3216
|
wireChannels,
|
|
3224
3217
|
} from './auto-utils-common'
|
|
3225
|
-
import { ExpectedCounts, assertInboundCount, assertOutboundCount, incrementCounterAndExpectULN } from './utils'
|
|
3226
3218
|
import {
|
|
3227
|
-
ERRORS,
|
|
3228
3219
|
ExtendedContract,
|
|
3229
3220
|
LzDict,
|
|
3230
3221
|
LzEventHandler,
|
|
@@ -3235,8 +3226,6 @@ import {
|
|
|
3235
3226
|
} from '../../src'
|
|
3236
3227
|
|
|
3237
3228
|
const ULN_MANAGER_DEFAULT_VERSION = BigInt(1)
|
|
3238
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3239
|
-
const ULN_MANAGER_CUSTOM_VERSION = BigInt(2)
|
|
3240
3229
|
|
|
3241
3230
|
export const TRUE = BigInt(-1)
|
|
3242
3231
|
export const FALSE = BigInt(0)
|
|
@@ -3322,211 +3311,6 @@ export function serializeDvns(dvnList: bigint[]): Cell {
|
|
|
3322
3311
|
return linkedList.endCell()
|
|
3323
3312
|
}
|
|
3324
3313
|
|
|
3325
|
-
// ================================Out of order helper functions================================
|
|
3326
|
-
|
|
3327
|
-
export async function generateFromPacketsInFlight(
|
|
3328
|
-
outOfOrder: OutOfOrder,
|
|
3329
|
-
fixtures: Map<bigint, OAppFixtureULN>,
|
|
3330
|
-
expectedCounts: Map<bigint, ExpectedCounts>,
|
|
3331
|
-
packetsInFlight: Map<bigint, PacketInFlight[]>,
|
|
3332
|
-
multiSigOwner1: SandboxContract<TreasuryContract>,
|
|
3333
|
-
eventHandler: LzEventHandler,
|
|
3334
|
-
profile?: Profile
|
|
3335
|
-
): Promise<PacketInFlight[]> {
|
|
3336
|
-
let fromPacketsInFlight: PacketInFlight[] | undefined = []
|
|
3337
|
-
|
|
3338
|
-
for (const action of outOfOrder.actions) {
|
|
3339
|
-
const fromEidBigInt = BigInt(action.fromEid)
|
|
3340
|
-
const fromFixture = fixtures.get(fromEidBigInt)
|
|
3341
|
-
const fromExpectedCounts = expectedCounts.get(fromEidBigInt)
|
|
3342
|
-
fromPacketsInFlight = packetsInFlight.get(fromEidBigInt)
|
|
3343
|
-
|
|
3344
|
-
if (!fromFixture || !fromExpectedCounts || !fromPacketsInFlight) {
|
|
3345
|
-
throw new Error('Fixture, ExpectedCount, or PacketsInFlight not found')
|
|
3346
|
-
}
|
|
3347
|
-
|
|
3348
|
-
const mdPacketSent = await incrementCounterAndExpectULN(
|
|
3349
|
-
{
|
|
3350
|
-
dstEid: action.toEid,
|
|
3351
|
-
actionType: ActionTypes[action.actionType],
|
|
3352
|
-
extraOptions: beginCell().endCell(),
|
|
3353
|
-
nativeFee: toNano('0.000006240'),
|
|
3354
|
-
zroFee: toNano('0'),
|
|
3355
|
-
},
|
|
3356
|
-
multiSigOwner1,
|
|
3357
|
-
eventHandler,
|
|
3358
|
-
fromFixture.msglibConnection,
|
|
3359
|
-
fromFixture,
|
|
3360
|
-
profile ?? undefined
|
|
3361
|
-
)
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
await assertOutboundCount(fromFixture.oApp, action.toEid, ++fromExpectedCounts.outbound)
|
|
3365
|
-
|
|
3366
|
-
fromPacketsInFlight.push({
|
|
3367
|
-
fromEid: action.fromEid,
|
|
3368
|
-
toEid: action.toEid,
|
|
3369
|
-
mdPacketSent,
|
|
3370
|
-
})
|
|
3371
|
-
}
|
|
3372
|
-
return fromPacketsInFlight
|
|
3373
|
-
}
|
|
3374
|
-
|
|
3375
|
-
export async function getRandomLzPacket(
|
|
3376
|
-
allStorages: SandboxContract<TonContractWrapper>,
|
|
3377
|
-
fromPacketsInFlight: PacketInFlight[],
|
|
3378
|
-
fixtures: Map<bigint, OAppFixtureULN>,
|
|
3379
|
-
expectedCounts: Map<bigint, ExpectedCounts>,
|
|
3380
|
-
pooos: Map<bigint, number[]>
|
|
3381
|
-
): Promise<{
|
|
3382
|
-
randomPacketIndex: number
|
|
3383
|
-
randomPacketInFlight: PacketInFlight
|
|
3384
|
-
toFixture: OAppFixtureULN
|
|
3385
|
-
toExpectedCounts: ExpectedCounts
|
|
3386
|
-
lzPacket: Cell
|
|
3387
|
-
toPooo: number[]
|
|
3388
|
-
}> {
|
|
3389
|
-
if (fromPacketsInFlight.length === 0) {
|
|
3390
|
-
throw new Error('No packets in flight available')
|
|
3391
|
-
}
|
|
3392
|
-
|
|
3393
|
-
const randomPacketIndex = Math.floor(Math.random() * fromPacketsInFlight.length)
|
|
3394
|
-
const randomPacketInFlight = fromPacketsInFlight[randomPacketIndex]
|
|
3395
|
-
|
|
3396
|
-
const toEidBigInt = BigInt(randomPacketInFlight.toEid)
|
|
3397
|
-
const toFixture = fixtures.get(toEidBigInt)
|
|
3398
|
-
const toExpectedCounts = expectedCounts.get(toEidBigInt)
|
|
3399
|
-
const toPooo = pooos.get(toEidBigInt)
|
|
3400
|
-
|
|
3401
|
-
if (!toFixture || !toExpectedCounts || !toPooo) {
|
|
3402
|
-
throw new Error('Fixture, ExpectedCount, or POOO not found')
|
|
3403
|
-
}
|
|
3404
|
-
|
|
3405
|
-
const lzPacket = await createLzPacketFromPacketEncoded(randomPacketInFlight.mdPacketSent.packetEncoded, allStorages)
|
|
3406
|
-
|
|
3407
|
-
return {
|
|
3408
|
-
randomPacketIndex,
|
|
3409
|
-
randomPacketInFlight,
|
|
3410
|
-
toFixture,
|
|
3411
|
-
toExpectedCounts,
|
|
3412
|
-
lzPacket,
|
|
3413
|
-
toPooo,
|
|
3414
|
-
}
|
|
3415
|
-
}
|
|
3416
|
-
|
|
3417
|
-
export async function handleVerify(
|
|
3418
|
-
toFixture: OAppFixtureULN,
|
|
3419
|
-
randomPacketInFlight: PacketInFlight,
|
|
3420
|
-
lzPacket: Cell,
|
|
3421
|
-
allStorages: SandboxContract<TonContractWrapper>,
|
|
3422
|
-
eventHandler: LzEventHandler
|
|
3423
|
-
): Promise<void> {
|
|
3424
|
-
let isVerified = true
|
|
3425
|
-
for (const dvnFixture of toFixture.receiveDvnFixturesCustom) {
|
|
3426
|
-
const isVerifiedView = await assertVerifiedView(
|
|
3427
|
-
toFixture.msglibConnection,
|
|
3428
|
-
addressToBigInt(dvnFixture.proxy.address),
|
|
3429
|
-
randomPacketInFlight.mdPacketSent.nonce,
|
|
3430
|
-
BigInt('0x' + lzPacket.hash().toString('hex')),
|
|
3431
|
-
BigInt(1) // requiredConfirmations
|
|
3432
|
-
)
|
|
3433
|
-
|
|
3434
|
-
if (isVerifiedView == FALSE) {
|
|
3435
|
-
isVerified = false
|
|
3436
|
-
}
|
|
3437
|
-
}
|
|
3438
|
-
|
|
3439
|
-
if (!isVerified) {
|
|
3440
|
-
await ulnVerifyAndExpect(
|
|
3441
|
-
allStorages,
|
|
3442
|
-
randomPacketInFlight.mdPacketSent,
|
|
3443
|
-
toFixture,
|
|
3444
|
-
toFixture.receiveDvnFixturesCustom,
|
|
3445
|
-
toFixture.msglibManager,
|
|
3446
|
-
toFixture.msglibConnection,
|
|
3447
|
-
eventHandler
|
|
3448
|
-
)
|
|
3449
|
-
}
|
|
3450
|
-
}
|
|
3451
|
-
|
|
3452
|
-
export async function handleCommit(
|
|
3453
|
-
toFixture: OAppFixtureULN,
|
|
3454
|
-
randomPacketInFlight: PacketInFlight,
|
|
3455
|
-
lzPacketWithGuid: Cell,
|
|
3456
|
-
multiSigOwner1: SandboxContract<TreasuryContract>,
|
|
3457
|
-
eventHandler: LzEventHandler
|
|
3458
|
-
): Promise<void> {
|
|
3459
|
-
const status = await assertCommittableView(
|
|
3460
|
-
toFixture.msglibConnection,
|
|
3461
|
-
randomPacketInFlight.mdPacketSent.nonce,
|
|
3462
|
-
lzPacketWithGuid,
|
|
3463
|
-
toFixture.defaultUlnReceiveConfig
|
|
3464
|
-
)
|
|
3465
|
-
|
|
3466
|
-
if (status == UlnConnectionVerificationStatusCommittable) {
|
|
3467
|
-
await commitVerificationAndExpect(lzPacketWithGuid, multiSigOwner1, eventHandler, toFixture)
|
|
3468
|
-
}
|
|
3469
|
-
}
|
|
3470
|
-
|
|
3471
|
-
export async function handleLzReceive(
|
|
3472
|
-
isExecutable: boolean,
|
|
3473
|
-
nonces: bigint[],
|
|
3474
|
-
toFixture: OAppFixtureULN,
|
|
3475
|
-
randomPacketInFlight: PacketInFlight,
|
|
3476
|
-
multiSigOwner1: SandboxContract<TreasuryContract>,
|
|
3477
|
-
allStorages: SandboxContract<TonContractWrapper>,
|
|
3478
|
-
lzReceivePrepareValue: bigint,
|
|
3479
|
-
eventHandler: LzEventHandler,
|
|
3480
|
-
toExpectedCounts: ExpectedCounts,
|
|
3481
|
-
randomPacketIndex: number | undefined,
|
|
3482
|
-
fromPacketsInFlight: PacketInFlight[] | undefined,
|
|
3483
|
-
totalPacketsDelivered?: number,
|
|
3484
|
-
opcode = OPCODES.Channel_OP_LZ_RECEIVE_PREPARE,
|
|
3485
|
-
profile?: Profile
|
|
3486
|
-
): Promise<number | undefined> {
|
|
3487
|
-
if (isExecutable) {
|
|
3488
|
-
for (const nonce of nonces) {
|
|
3489
|
-
await lzReceiveAndExpect({
|
|
3490
|
-
lzReceivePrepareMd: await allStorages.getNewMdLzReceivePrepare({
|
|
3491
|
-
nonce,
|
|
3492
|
-
nanotons: lzReceivePrepareValue,
|
|
3493
|
-
}),
|
|
3494
|
-
oAppFixture: toFixture,
|
|
3495
|
-
deployer: multiSigOwner1,
|
|
3496
|
-
eventHandler,
|
|
3497
|
-
profile,
|
|
3498
|
-
})
|
|
3499
|
-
await assertInboundCount(toFixture.oApp, randomPacketInFlight.fromEid, ++toExpectedCounts.inbound)
|
|
3500
|
-
if (totalPacketsDelivered !== undefined) totalPacketsDelivered++
|
|
3501
|
-
}
|
|
3502
|
-
if (fromPacketsInFlight && randomPacketIndex !== undefined) {
|
|
3503
|
-
fromPacketsInFlight.splice(randomPacketIndex, 1)
|
|
3504
|
-
}
|
|
3505
|
-
} else {
|
|
3506
|
-
await sendInternalMessageAndExpect({
|
|
3507
|
-
value: toNano('1'),
|
|
3508
|
-
sender: multiSigOwner1.getSender(),
|
|
3509
|
-
contract: toFixture.channel,
|
|
3510
|
-
opCode: opcode,
|
|
3511
|
-
md: await allStorages.getNewMdLzReceivePrepare({
|
|
3512
|
-
nonce: randomPacketInFlight.mdPacketSent.nonce,
|
|
3513
|
-
nanotons: lzReceivePrepareValue,
|
|
3514
|
-
}),
|
|
3515
|
-
expectedTransactions: [
|
|
3516
|
-
{
|
|
3517
|
-
from: multiSigOwner1.address,
|
|
3518
|
-
to: toFixture.channel.address,
|
|
3519
|
-
op: Number(opcode),
|
|
3520
|
-
exitCode: Number(ERRORS.Channel_ERROR_notExecutable),
|
|
3521
|
-
success: false,
|
|
3522
|
-
},
|
|
3523
|
-
],
|
|
3524
|
-
})
|
|
3525
|
-
await assertInboundCount(toFixture.oApp, randomPacketInFlight.fromEid, toExpectedCounts.inbound)
|
|
3526
|
-
}
|
|
3527
|
-
return totalPacketsDelivered
|
|
3528
|
-
}
|
|
3529
|
-
|
|
3530
3314
|
// ==============================ULN INTEGRATION FUNCTIONS==============================
|
|
3531
3315
|
|
|
3532
3316
|
export async function commitVerificationAndExpect(
|
|
@@ -3639,6 +3423,7 @@ export async function addDvnWorkers(
|
|
|
3639
3423
|
for (const dvnFixture of [...sendDvnFixtures, ...receiveDvnFixtures]) {
|
|
3640
3424
|
const dvnWorkerCallMd = await allStorages.getNewMdExecuteParams({
|
|
3641
3425
|
target: addressToBigInt(msglibManager.address),
|
|
3426
|
+
forwardingAddress: 0n,
|
|
3642
3427
|
callData: await allStorages.getNewUlnWorkerFeelibInfo({
|
|
3643
3428
|
workerAddress: addressToBigInt(dvnFixture.dvn.address),
|
|
3644
3429
|
workerFeelibBytecode: cellFromArtifact(DvnFeelibArtifact),
|
|
@@ -4095,7 +3880,7 @@ export async function deployConfigAndRegisterDvn(
|
|
|
4095
3880
|
): Promise<[DvnFixture[], DvnFixture[]]> {
|
|
4096
3881
|
const dvnAdmins = [fixture.owner]
|
|
4097
3882
|
const verifierSet = generateRandomVerifierSet(3)
|
|
4098
|
-
|
|
3883
|
+
|
|
4099
3884
|
const sendDvnFixtures: DvnFixture[] = []
|
|
4100
3885
|
const receiveDvnFixtures: DvnFixture[] = []
|
|
4101
3886
|
|
|
@@ -4137,7 +3922,7 @@ export async function deployConfigAndRegisterDvn(
|
|
|
4137
3922
|
})
|
|
4138
3923
|
await eventHandler.addCurrentEventsToAllEvents(dvnMsgResults, dvn)
|
|
4139
3924
|
}
|
|
4140
|
-
|
|
3925
|
+
|
|
4141
3926
|
return [sendDvnFixtures, receiveDvnFixtures]
|
|
4142
3927
|
}
|
|
4143
3928
|
|
|
@@ -4151,7 +3936,6 @@ export async function deployConfigAndRegisterUln(
|
|
|
4151
3936
|
eventHandler: LzEventHandler,
|
|
4152
3937
|
dvnFixtureConfig: DvnFixtureConfig
|
|
4153
3938
|
): Promise<SandboxContract<TonContractWrapper>> {
|
|
4154
|
-
|
|
4155
3939
|
// ===================================open and deploy uln manager =====================================
|
|
4156
3940
|
|
|
4157
3941
|
const [msglibManager, ulnManagerMsgResults] = await openAndDeployUlnManagerViaMultisig(
|
|
@@ -4164,7 +3948,6 @@ export async function deployConfigAndRegisterUln(
|
|
|
4164
3948
|
srcFixture.msglibManager = msglibManager
|
|
4165
3949
|
|
|
4166
3950
|
// ===================================open and deploy dvn =====================================
|
|
4167
|
-
|
|
4168
3951
|
;[srcFixture.sendDvnFixtures, srcFixture.receiveDvnFixtures] = await deployConfigAndRegisterDvn(
|
|
4169
3952
|
blockchain,
|
|
4170
3953
|
allStorages,
|
|
@@ -4172,7 +3955,7 @@ export async function deployConfigAndRegisterUln(
|
|
|
4172
3955
|
eventHandler,
|
|
4173
3956
|
dvnFixtureConfig
|
|
4174
3957
|
)
|
|
4175
|
-
|
|
3958
|
+
|
|
4176
3959
|
// ===================================open and deploy executor=====================================
|
|
4177
3960
|
|
|
4178
3961
|
const executorAdmins = [srcFixture.owner]
|
|
@@ -4274,7 +4057,7 @@ export async function deployConfigAndRegisterUln(
|
|
|
4274
4057
|
priceFeedCacheProxy.address,
|
|
4275
4058
|
eventHandler
|
|
4276
4059
|
)
|
|
4277
|
-
|
|
4060
|
+
|
|
4278
4061
|
// ===================================addUlnWorker - executor =======================================
|
|
4279
4062
|
|
|
4280
4063
|
const executorWorkerCallMd = await allStorages.getNewMdExecuteParams({
|
|
@@ -4296,6 +4079,7 @@ export async function deployConfigAndRegisterUln(
|
|
|
4296
4079
|
}),
|
|
4297
4080
|
expiration: BigInt(0),
|
|
4298
4081
|
opcode: OPCODES.UlnManager_OP_ADD_ULN_WORKER,
|
|
4082
|
+
forwardingAddress: 0n,
|
|
4299
4083
|
})
|
|
4300
4084
|
|
|
4301
4085
|
internalMsgResults = await addUlnWorker(srcFixture.executorFixtures.admins[0], executor, executorWorkerCallMd, [
|
|
@@ -4357,6 +4141,7 @@ export async function deployConfigAndRegisterUln(
|
|
|
4357
4141
|
}),
|
|
4358
4142
|
expiration: BigInt(0),
|
|
4359
4143
|
opcode: OPCODES.UlnManager_OP_ADD_ULN_WORKER,
|
|
4144
|
+
forwardingAddress: 0n,
|
|
4360
4145
|
})
|
|
4361
4146
|
|
|
4362
4147
|
internalMsgResults = await addUlnWorker(
|
|
@@ -4418,7 +4203,7 @@ export async function deployConfigAndRegisterUln(
|
|
|
4418
4203
|
confirmationsNull: BigInt(0),
|
|
4419
4204
|
confirmations: BigInt(1),
|
|
4420
4205
|
})
|
|
4421
|
-
|
|
4206
|
+
|
|
4422
4207
|
srcFixture.defaultUlnSendConfig = ulnSendConfig
|
|
4423
4208
|
|
|
4424
4209
|
await sendMessageViaMultisigAndExpect({
|
|
@@ -4471,7 +4256,7 @@ export async function deployConfigAndRegisterUln(
|
|
|
4471
4256
|
})
|
|
4472
4257
|
|
|
4473
4258
|
srcFixture.defaultUlnReceiveConfig = ulnReceiveConfig
|
|
4474
|
-
|
|
4259
|
+
|
|
4475
4260
|
await sendMessageViaMultisigAndExpect({
|
|
4476
4261
|
blockchain,
|
|
4477
4262
|
multiSigContract: srcFixture.multisig,
|
|
@@ -4547,7 +4332,7 @@ export async function wireFixtureWithUln(
|
|
|
4547
4332
|
}
|
|
4548
4333
|
|
|
4549
4334
|
// ===================================deploy, configue, and register uln =====================================
|
|
4550
|
-
|
|
4335
|
+
|
|
4551
4336
|
srcFixture.msglibManager = await deployConfigAndRegisterUln(
|
|
4552
4337
|
blockchain,
|
|
4553
4338
|
multiSigners,
|
|
@@ -4569,7 +4354,7 @@ export async function wireFixtureWithUln(
|
|
|
4569
4354
|
srcFixture.msglibManager
|
|
4570
4355
|
)
|
|
4571
4356
|
await eventHandler.addCurrentEventsToAllEvents(internalMsgResults, srcFixture.controller)
|
|
4572
|
-
|
|
4357
|
+
|
|
4573
4358
|
// ===================================open and deploy uln connection =====================================
|
|
4574
4359
|
|
|
4575
4360
|
const [msglibConnection, ulnConnectionMsgResults] = await openAndDeployUlnConnection(
|
|
@@ -4597,8 +4382,7 @@ export async function wireFixtureWithUln(
|
|
|
4597
4382
|
|
|
4598
4383
|
// expect no failures
|
|
4599
4384
|
expect(eventHandler.allFailures.txList).toHaveLength(0)
|
|
4600
|
-
|
|
4601
|
-
|
|
4385
|
+
|
|
4602
4386
|
if (dvnFixtureConfigCustom) {
|
|
4603
4387
|
// ===================================open and deploy dvn =====================================
|
|
4604
4388
|
|
|
@@ -4648,7 +4432,7 @@ export async function wireFixtureWithUln(
|
|
|
4648
4432
|
md: await allStorages.getNewLzConfig({
|
|
4649
4433
|
path: srcFixture.path,
|
|
4650
4434
|
forwardingAddress: addressToBigInt(srcFixture.msglibManager.address),
|
|
4651
|
-
opCode: OPCODES.MsglibManager_OP_SET_OAPP_MSGLIB_SEND_CONFIG,
|
|
4435
|
+
opCode: OPCODES.MsglibManager_OP_SET_OAPP_MSGLIB_SEND_CONFIG as bigint,
|
|
4652
4436
|
config: ulnSendConfig,
|
|
4653
4437
|
}),
|
|
4654
4438
|
balanceRefill: toNano('1'),
|
|
@@ -4699,7 +4483,7 @@ export async function wireFixtureWithUln(
|
|
|
4699
4483
|
md: await allStorages.getNewLzConfig({
|
|
4700
4484
|
path: srcFixture.path,
|
|
4701
4485
|
forwardingAddress: addressToBigInt(srcFixture.msglibManager.address),
|
|
4702
|
-
opCode: OPCODES.MsglibManager_OP_SET_OAPP_MSGLIB_RECEIVE_CONFIG,
|
|
4486
|
+
opCode: OPCODES.MsglibManager_OP_SET_OAPP_MSGLIB_RECEIVE_CONFIG as bigint,
|
|
4703
4487
|
config: ulnReceiveConfig,
|
|
4704
4488
|
}),
|
|
4705
4489
|
balanceRefill: toNano('1'),
|
|
@@ -4868,6 +4652,7 @@ interface SetDictOnDvnParams {
|
|
|
4868
4652
|
nonce: bigint
|
|
4869
4653
|
allStorages: SandboxContract<TonContractWrapper>
|
|
4870
4654
|
expectedTransactions: FlatTransactionComparable[]
|
|
4655
|
+
target: bigint
|
|
4871
4656
|
}
|
|
4872
4657
|
|
|
4873
4658
|
export async function setDictOnDvn({
|
|
@@ -4878,6 +4663,7 @@ export async function setDictOnDvn({
|
|
|
4878
4663
|
signedOpcode,
|
|
4879
4664
|
incomingOpcode,
|
|
4880
4665
|
nonce,
|
|
4666
|
+
target,
|
|
4881
4667
|
allStorages,
|
|
4882
4668
|
expectedTransactions = [],
|
|
4883
4669
|
}: SetDictOnDvnParams): Promise<SendMessageResult> {
|
|
@@ -4885,6 +4671,7 @@ export async function setDictOnDvn({
|
|
|
4885
4671
|
nonce,
|
|
4886
4672
|
opcode: signedOpcode,
|
|
4887
4673
|
_dict: newDict,
|
|
4674
|
+
target,
|
|
4888
4675
|
})
|
|
4889
4676
|
|
|
4890
4677
|
return signAndSendRequestToDvn({
|
|
@@ -4922,6 +4709,7 @@ interface SetQuorumOnDvnParams {
|
|
|
4922
4709
|
nonce: bigint
|
|
4923
4710
|
allStorages: SandboxContract<TonContractWrapper>
|
|
4924
4711
|
expectedTransactions: FlatTransactionComparable[]
|
|
4712
|
+
target: bigint
|
|
4925
4713
|
}
|
|
4926
4714
|
|
|
4927
4715
|
export async function setQuorumOnDvn({
|
|
@@ -4934,11 +4722,13 @@ export async function setQuorumOnDvn({
|
|
|
4934
4722
|
nonce,
|
|
4935
4723
|
allStorages,
|
|
4936
4724
|
expectedTransactions,
|
|
4725
|
+
target,
|
|
4937
4726
|
}: SetQuorumOnDvnParams): Promise<SendMessageResult> {
|
|
4938
4727
|
const setQuorumMd = await dvn.getNewMdSetQuorum({
|
|
4939
4728
|
nonce,
|
|
4940
4729
|
opcode: signedOpcode,
|
|
4941
4730
|
quorum: newQuorum,
|
|
4731
|
+
target,
|
|
4942
4732
|
})
|
|
4943
4733
|
|
|
4944
4734
|
return signAndSendRequestToDvn({
|
|
@@ -5033,6 +4823,7 @@ interface CallVerifyOnDvnParams {
|
|
|
5033
4823
|
callData: Cell
|
|
5034
4824
|
allStorages: SandboxContract<TonContractWrapper>
|
|
5035
4825
|
expectedTransactions: FlatTransactionComparable[]
|
|
4826
|
+
forwardingAddress: bigint
|
|
5036
4827
|
}
|
|
5037
4828
|
|
|
5038
4829
|
export async function callVerifyOnDvn({
|
|
@@ -5046,12 +4837,14 @@ export async function callVerifyOnDvn({
|
|
|
5046
4837
|
callData,
|
|
5047
4838
|
allStorages,
|
|
5048
4839
|
expectedTransactions,
|
|
4840
|
+
forwardingAddress,
|
|
5049
4841
|
}: CallVerifyOnDvnParams): Promise<SendMessageResult> {
|
|
5050
4842
|
const executeParamsMd = await dvn.getNewMdExecuteParams({
|
|
5051
4843
|
expiration,
|
|
5052
4844
|
target,
|
|
5053
4845
|
callData,
|
|
5054
4846
|
opcode: signedOpcode,
|
|
4847
|
+
forwardingAddress,
|
|
5055
4848
|
})
|
|
5056
4849
|
|
|
5057
4850
|
return signAndSendRequestToDvn({
|
|
@@ -5082,21 +4875,22 @@ export async function ulnVerifyAndExpect(
|
|
|
5082
4875
|
|
|
5083
4876
|
const lzPacket = await createLzPacketFromPacketEncoded(mdPacketSent.packetEncoded, allStorages)
|
|
5084
4877
|
|
|
5085
|
-
const
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
|
|
4878
|
+
for (const { dvn, proxy, admins, verifiers } of receiveDvnFixtures) {
|
|
4879
|
+
const requestMd = await allStorages.getNewMdExecuteParams({
|
|
4880
|
+
target: addressToBigInt(dvn.address),
|
|
4881
|
+
callData: await allStorages.getNewMdMdAddress({
|
|
4882
|
+
md: await allStorages.getNewMdUlnVerification({
|
|
4883
|
+
nonce: mdPacketSent.nonce,
|
|
4884
|
+
hash: BigInt('0x' + lzPacket.hash().toString('hex')),
|
|
4885
|
+
confirmations,
|
|
4886
|
+
}),
|
|
4887
|
+
address: addressToBigInt(msglibConnection.address),
|
|
5092
4888
|
}),
|
|
5093
|
-
|
|
5094
|
-
|
|
5095
|
-
|
|
5096
|
-
|
|
5097
|
-
})
|
|
4889
|
+
expiration: oneDayFromNow,
|
|
4890
|
+
opcode: OPCODES.Uln_OP_ULN_VERIFY,
|
|
4891
|
+
forwardingAddress: addressToBigInt(uln.address),
|
|
4892
|
+
})
|
|
5098
4893
|
|
|
5099
|
-
for (const { dvn, proxy, admins, verifiers } of receiveDvnFixtures) {
|
|
5100
4894
|
const internalMsgResults: SendMessageResult = await sendInternalMessageAndExpect({
|
|
5101
4895
|
profile,
|
|
5102
4896
|
value: OAppFlowGas['Msglib.COMMIT_PACKET'],
|