From 5a7411a3dbf14bc049e22ae24e8e800da52d6e0c Mon Sep 17 00:00:00 2001 From: danielailie Date: Mon, 24 Feb 2025 13:56:57 +0200 Subject: [PATCH 01/10] Add relayer and guardian on controllers functions --- src/accountManagement/accountController.ts | 21 ++- src/delegation/delegationController.ts | 79 ++++++++++++ src/entrypoints/entrypoints.spec.ts | 39 +++++- src/smartContracts/smartContractController.ts | 13 ++ .../tokenManagementController.ts | 121 ++++++++++++++++++ src/transfers/transfersControllers.ts | 13 ++ 6 files changed, 283 insertions(+), 3 deletions(-) diff --git a/src/accountManagement/accountController.ts b/src/accountManagement/accountController.ts index f7a67eef6..89a353257 100644 --- a/src/accountManagement/accountController.ts +++ b/src/accountManagement/accountController.ts @@ -1,4 +1,5 @@ import { IAccount } from "../accounts/interfaces"; +import { Address } from "../core"; import { Transaction } from "../core/transaction"; import { TransactionComputer } from "../core/transactionComputer"; import { TransactionsFactoryConfig } from "../core/transactionsFactoryConfig"; @@ -20,9 +21,13 @@ export class AccountController { sender: IAccount, nonce: bigint, options: SaveKeyValueInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSavingKeyValue(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -33,27 +38,39 @@ export class AccountController { sender: IAccount, nonce: bigint, options: SetGuardianInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingGuardian(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); return transaction; } - async createTransactionForGuardingAccount(sender: IAccount, nonce: bigint): Promise { + async createTransactionForGuardingAccount(sender: IAccount, nonce: bigint, + guardian: Address = Address.empty(), + relayer: Address = Address.empty()): Promise { const transaction = this.factory.createTransactionForGuardingAccount(sender.address); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); return transaction; } - async createTransactionForUnguardingAccount(sender: IAccount, nonce: bigint): Promise { + async createTransactionForUnguardingAccount(sender: IAccount, nonce: bigint, + guardian: Address = Address.empty(), + relayer: Address = Address.empty()): Promise { const transaction = this.factory.createTransactionForUnguardingAccount(sender.address); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/delegation/delegationController.ts b/src/delegation/delegationController.ts index 1d21ce731..c5c0ac660 100644 --- a/src/delegation/delegationController.ts +++ b/src/delegation/delegationController.ts @@ -1,4 +1,5 @@ import { IAccount } from "../accounts/interfaces"; +import { Address } from "../core"; import { Transaction } from "../core/transaction"; import { TransactionComputer } from "../core/transactionComputer"; import { TransactionOnNetwork } from "../core/transactionOnNetwork"; @@ -28,9 +29,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.NewDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForNewDelegationContract(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -50,9 +55,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.AddNodesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForAddingNodes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -63,9 +72,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageNodesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForRemovingNodes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -76,9 +89,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageNodesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForStakingNodes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -89,9 +106,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageNodesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnbondingNodes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -102,9 +123,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageNodesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnstakingNodes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -115,9 +140,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.UnjailingNodesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnjailingNodes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -128,9 +157,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ChangeServiceFee, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForChangingServiceFee(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -141,9 +174,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ModifyDelegationCapInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForModifyingDelegationCap(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -154,9 +191,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingAutomaticActivation(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -167,9 +208,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnsettingAutomaticActivation(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -180,12 +225,16 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingCapCheckOnRedelegateRewards( sender.address, options, ); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -196,12 +245,16 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnsettingCapCheckOnRedelegateRewards( sender.address, options, ); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -212,9 +265,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.SetContractMetadataInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingMetadata(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -225,9 +282,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.DelegateActionsInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForDelegating(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -238,9 +299,14 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() + ): Promise { const transaction = this.factory.createTransactionForClaimingRewards(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -251,9 +317,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForRedelegatingRewards(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -264,9 +334,13 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.DelegateActionsInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUndelegating(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -277,10 +351,15 @@ export class DelegationController { sender: IAccount, nonce: bigint, options: resources.ManageDelegationContractInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForWithdrawing(sender.address, options); transaction.nonce = nonce; + transaction.guardian = guardian; + transaction.relayer = relayer; + transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); return transaction; diff --git a/src/entrypoints/entrypoints.spec.ts b/src/entrypoints/entrypoints.spec.ts index efaf9ba4b..87489ec09 100644 --- a/src/entrypoints/entrypoints.spec.ts +++ b/src/entrypoints/entrypoints.spec.ts @@ -9,7 +9,7 @@ import { DevnetEntrypoint } from "./entrypoints"; describe("TestEntrypoint", () => { const entrypoint = new DevnetEntrypoint(); - before(async function () {}); + before(async function () { }); it("native transfer", async () => { const controller = entrypoint.createTransfersController(); @@ -32,6 +32,43 @@ describe("TestEntrypoint", () => { ); }); + it("native transfer with guardian and relayer", async () => { + const controller = entrypoint.createTransfersController(); + const filePath = path.join("src", "testdata", "testwallets"); + const sender = await Account.newFromPem(path.join(filePath, "alice.pem")); + const grace = await Account.newFromPem(path.join(filePath, "grace.pem")); + sender.nonce = 77777n; + + const transaction = await controller.createTransactionForTransfer( + sender, + BigInt(sender.getNonceThenIncrement().valueOf()), + { + receiver: sender.address, + nativeAmount: BigInt(0), + data: Buffer.from("hello"), + }, + grace.address, + grace.address + ); + assert.deepEqual( + transaction.guardian, + grace.address, + ); + assert.deepEqual( + transaction.relayer, + grace.address, + ); + assert.deepEqual( + transaction.guardianSignature, + new Uint8Array(), + ); + + assert.deepEqual( + transaction.relayerSignature, + new Uint8Array(), + ); + }); + it("contract flow", async function () { this.timeout(30000); const abi = await loadAbiRegistry("src/testdata/adder.abi.json"); diff --git a/src/smartContracts/smartContractController.ts b/src/smartContracts/smartContractController.ts index 01a8327b1..3408a5353 100644 --- a/src/smartContracts/smartContractController.ts +++ b/src/smartContracts/smartContractController.ts @@ -1,5 +1,6 @@ import { AbiRegistry, ArgSerializer, isTyped, NativeSerializer } from "../abi"; import { IAccount } from "../accounts/interfaces"; +import { Address } from "../core"; import { Err, ErrSmartContractQuery } from "../core/errors"; import { SmartContractQuery, SmartContractQueryInput, SmartContractQueryResponse } from "../core/smartContractQuery"; import { Transaction } from "../core/transaction"; @@ -36,9 +37,13 @@ export class SmartContractController { sender: IAccount, nonce: bigint, options: resources.ContractDeployInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForDeploy(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -58,9 +63,13 @@ export class SmartContractController { sender: IAccount, nonce: bigint, options: resources.ContractUpgradeInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUpgrade(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -71,9 +80,13 @@ export class SmartContractController { sender: IAccount, nonce: bigint, options: resources.ContractExecuteInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForExecute(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/tokenManagement/tokenManagementController.ts b/src/tokenManagement/tokenManagementController.ts index a3a3bfd77..2e5789f54 100644 --- a/src/tokenManagement/tokenManagementController.ts +++ b/src/tokenManagement/tokenManagementController.ts @@ -1,4 +1,5 @@ import { IAccount } from "../accounts/interfaces"; +import { Address } from "../core"; import { Transaction } from "../core/transaction"; import { TransactionComputer } from "../core/transactionComputer"; import { TransactionOnNetwork } from "../core/transactionOnNetwork"; @@ -28,9 +29,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.IssueFungibleInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForIssuingFungible(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -50,9 +55,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.IssueSemiFungibleInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForIssuingSemiFungible(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -72,9 +81,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.IssueNonFungibleInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForIssuingNonFungible(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -94,9 +107,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.RegisterMetaESDTInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForRegisteringMetaESDT(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -116,9 +133,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.RegisterRolesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForRegisteringAndSettingRoles(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -138,9 +159,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.BurnRoleGloballyInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingBurnRoleGlobally(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -160,9 +185,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.BurnRoleGloballyInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnsettingBurnRoleGlobally(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -182,9 +211,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.FungibleSpecialRoleInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnFungibleToken(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -204,12 +237,16 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SemiFungibleSpecialRoleInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnSemiFungibleToken( sender.address, options, ); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -229,12 +266,16 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SpecialRoleInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnNonFungibleToken( sender.address, options, ); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -254,9 +295,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.MintInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForCreatingNFT(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -276,9 +321,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.PausingInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForPausing(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -298,9 +347,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.PausingInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnpausing(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -320,9 +373,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.ManagementInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForFreezing(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -342,9 +399,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.ManagementInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUnfreezing(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -364,9 +425,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.ManagementInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForWiping(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -386,9 +451,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.LocalMintInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForLocalMint(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -408,9 +477,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.LocalBurnInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForLocalBurning(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -430,9 +503,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.UpdateAttributesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUpdatingAttributes(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -452,9 +529,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.UpdateQuantityInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForAddingQuantity(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -474,9 +555,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.UpdateQuantityInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForBurningQuantity(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -496,9 +581,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.ModifyRoyaltiesInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForModifyingRoyalties(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -518,9 +607,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SetNewUriInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForSettingNewUris(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -540,9 +633,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SetNewUriInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForModifyingCreator(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -562,9 +659,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SetNewUriInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForModifyingCreator(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -584,9 +685,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SetNewUriInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForMetadataRecreate(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -606,9 +711,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.SetNewUriInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForChangingTokenToDynamic(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -628,9 +737,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.UpdateTokenIDInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForUpdatingTokenId(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -646,9 +759,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.RegisteringDynamicTokenInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForRegisteringDynamicToken(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -668,9 +785,13 @@ export class TokenManagementController { sender: IAccount, nonce: bigint, options: resources.RegisteringDynamicTokenInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForRegisteringDynamicAndSettingRoles(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/transfers/transfersControllers.ts b/src/transfers/transfersControllers.ts index cb9316be0..117ce1b62 100644 --- a/src/transfers/transfersControllers.ts +++ b/src/transfers/transfersControllers.ts @@ -1,4 +1,5 @@ import { IAccount } from "../accounts/interfaces"; +import { Address } from "../core"; import { Transaction } from "../core/transaction"; import { TransactionComputer } from "../core/transactionComputer"; import { TransactionsFactoryConfig } from "../core/transactionsFactoryConfig"; @@ -18,9 +19,13 @@ export class TransfersController { sender: IAccount, nonce: bigint, options: resources.NativeTokenTransferInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForNativeTokenTransfer(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -31,9 +36,13 @@ export class TransfersController { sender: IAccount, nonce: bigint, options: resources.CustomTokenTransferInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForESDTTokenTransfer(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -44,9 +53,13 @@ export class TransfersController { sender: IAccount, nonce: bigint, options: resources.CreateTransferTransactionInput, + guardian: Address = Address.empty(), + relayer: Address = Address.empty() ): Promise { const transaction = this.factory.createTransactionForTransfer(sender.address, options); + transaction.guardian = guardian; + transaction.relayer = relayer; transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); From cbf14be7a714a5d924351ff6d525e6cd79bd272d Mon Sep 17 00:00:00 2001 From: danielailie Date: Mon, 24 Feb 2025 15:32:50 +0200 Subject: [PATCH 02/10] Apply formatters --- src/accountManagement/accountController.ts | 18 ++++-- src/delegation/delegationController.ts | 39 ++++++------ src/entrypoints/entrypoints.spec.ts | 22 ++----- src/networkProviders/config.ts | 8 +-- src/networkProviders/networkProviderConfig.ts | 2 +- src/networkProviders/serialization.spec.ts | 3 +- src/smartContracts/smartContractController.ts | 6 +- .../tokenManagementController.ts | 60 +++++++++---------- src/transfers/transfersControllers.ts | 6 +- 9 files changed, 78 insertions(+), 86 deletions(-) diff --git a/src/accountManagement/accountController.ts b/src/accountManagement/accountController.ts index 89a353257..128350dd6 100644 --- a/src/accountManagement/accountController.ts +++ b/src/accountManagement/accountController.ts @@ -22,7 +22,7 @@ export class AccountController { nonce: bigint, options: SaveKeyValueInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSavingKeyValue(sender.address, options); @@ -39,7 +39,7 @@ export class AccountController { nonce: bigint, options: SetGuardianInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingGuardian(sender.address, options); @@ -51,9 +51,12 @@ export class AccountController { return transaction; } - async createTransactionForGuardingAccount(sender: IAccount, nonce: bigint, + async createTransactionForGuardingAccount( + sender: IAccount, + nonce: bigint, guardian: Address = Address.empty(), - relayer: Address = Address.empty()): Promise { + relayer: Address = Address.empty(), + ): Promise { const transaction = this.factory.createTransactionForGuardingAccount(sender.address); transaction.guardian = guardian; @@ -64,9 +67,12 @@ export class AccountController { return transaction; } - async createTransactionForUnguardingAccount(sender: IAccount, nonce: bigint, + async createTransactionForUnguardingAccount( + sender: IAccount, + nonce: bigint, guardian: Address = Address.empty(), - relayer: Address = Address.empty()): Promise { + relayer: Address = Address.empty(), + ): Promise { const transaction = this.factory.createTransactionForUnguardingAccount(sender.address); transaction.guardian = guardian; diff --git a/src/delegation/delegationController.ts b/src/delegation/delegationController.ts index c5c0ac660..fc8555e24 100644 --- a/src/delegation/delegationController.ts +++ b/src/delegation/delegationController.ts @@ -30,7 +30,7 @@ export class DelegationController { nonce: bigint, options: resources.NewDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForNewDelegationContract(sender.address, options); @@ -56,7 +56,7 @@ export class DelegationController { nonce: bigint, options: resources.AddNodesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForAddingNodes(sender.address, options); @@ -73,7 +73,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageNodesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForRemovingNodes(sender.address, options); @@ -90,7 +90,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageNodesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForStakingNodes(sender.address, options); @@ -107,7 +107,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageNodesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnbondingNodes(sender.address, options); @@ -124,7 +124,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageNodesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnstakingNodes(sender.address, options); @@ -141,7 +141,7 @@ export class DelegationController { nonce: bigint, options: resources.UnjailingNodesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnjailingNodes(sender.address, options); @@ -158,7 +158,7 @@ export class DelegationController { nonce: bigint, options: resources.ChangeServiceFee, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForChangingServiceFee(sender.address, options); @@ -175,7 +175,7 @@ export class DelegationController { nonce: bigint, options: resources.ModifyDelegationCapInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForModifyingDelegationCap(sender.address, options); @@ -192,7 +192,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingAutomaticActivation(sender.address, options); @@ -209,7 +209,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnsettingAutomaticActivation(sender.address, options); @@ -226,7 +226,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingCapCheckOnRedelegateRewards( sender.address, @@ -246,7 +246,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnsettingCapCheckOnRedelegateRewards( sender.address, @@ -266,7 +266,7 @@ export class DelegationController { nonce: bigint, options: resources.SetContractMetadataInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingMetadata(sender.address, options); @@ -283,7 +283,7 @@ export class DelegationController { nonce: bigint, options: resources.DelegateActionsInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForDelegating(sender.address, options); @@ -300,8 +300,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() - + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForClaimingRewards(sender.address, options); @@ -318,7 +317,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForRedelegatingRewards(sender.address, options); @@ -335,7 +334,7 @@ export class DelegationController { nonce: bigint, options: resources.DelegateActionsInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUndelegating(sender.address, options); @@ -352,7 +351,7 @@ export class DelegationController { nonce: bigint, options: resources.ManageDelegationContractInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForWithdrawing(sender.address, options); diff --git a/src/entrypoints/entrypoints.spec.ts b/src/entrypoints/entrypoints.spec.ts index 87489ec09..6b65ee610 100644 --- a/src/entrypoints/entrypoints.spec.ts +++ b/src/entrypoints/entrypoints.spec.ts @@ -9,7 +9,7 @@ import { DevnetEntrypoint } from "./entrypoints"; describe("TestEntrypoint", () => { const entrypoint = new DevnetEntrypoint(); - before(async function () { }); + before(async function () {}); it("native transfer", async () => { const controller = entrypoint.createTransfersController(); @@ -48,25 +48,13 @@ describe("TestEntrypoint", () => { data: Buffer.from("hello"), }, grace.address, - grace.address - ); - assert.deepEqual( - transaction.guardian, - grace.address, - ); - assert.deepEqual( - transaction.relayer, grace.address, ); - assert.deepEqual( - transaction.guardianSignature, - new Uint8Array(), - ); + assert.deepEqual(transaction.guardian, grace.address); + assert.deepEqual(transaction.relayer, grace.address); + assert.deepEqual(transaction.guardianSignature, new Uint8Array()); - assert.deepEqual( - transaction.relayerSignature, - new Uint8Array(), - ); + assert.deepEqual(transaction.relayerSignature, new Uint8Array()); }); it("contract flow", async function () { diff --git a/src/networkProviders/config.ts b/src/networkProviders/config.ts index 8239bfda9..c43ac48bd 100644 --- a/src/networkProviders/config.ts +++ b/src/networkProviders/config.ts @@ -1,6 +1,6 @@ import { IPagination } from "./interface"; -const JSONbig = require("json-bigint")({ constructorAction: 'ignore' }); +const JSONbig = require("json-bigint")({ constructorAction: "ignore" }); export const defaultAxiosConfig = { timeout: 5000, @@ -8,11 +8,11 @@ export const defaultAxiosConfig = { transformResponse: [ function (data: any) { return JSONbig.parse(data); - } - ] + }, + ], }; export const defaultPagination: IPagination = { from: 0, - size: 100 + size: 100, }; diff --git a/src/networkProviders/networkProviderConfig.ts b/src/networkProviders/networkProviderConfig.ts index b66bffbcc..6d1260e43 100644 --- a/src/networkProviders/networkProviderConfig.ts +++ b/src/networkProviders/networkProviderConfig.ts @@ -1,4 +1,4 @@ -import { AxiosRequestConfig } from 'axios'; +import { AxiosRequestConfig } from "axios"; export interface NetworkProviderConfig extends AxiosRequestConfig { clientName?: string; diff --git a/src/networkProviders/serialization.spec.ts b/src/networkProviders/serialization.spec.ts index 6ffc83096..217a0e071 100644 --- a/src/networkProviders/serialization.spec.ts +++ b/src/networkProviders/serialization.spec.ts @@ -8,9 +8,8 @@ describe("test JSON serialization", function () { }); it("should deserialize", async function () { - const JSONbig = require("json-bigint")({ constructorAction: 'ignore' }); + const JSONbig = require("json-bigint")({ constructorAction: "ignore" }); const data = `{"Costum":{"foo_constructor":1}}`; JSONbig.parse(data); }); }); - diff --git a/src/smartContracts/smartContractController.ts b/src/smartContracts/smartContractController.ts index 3408a5353..253ff3405 100644 --- a/src/smartContracts/smartContractController.ts +++ b/src/smartContracts/smartContractController.ts @@ -38,7 +38,7 @@ export class SmartContractController { nonce: bigint, options: resources.ContractDeployInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForDeploy(sender.address, options); @@ -64,7 +64,7 @@ export class SmartContractController { nonce: bigint, options: resources.ContractUpgradeInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUpgrade(sender.address, options); @@ -81,7 +81,7 @@ export class SmartContractController { nonce: bigint, options: resources.ContractExecuteInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForExecute(sender.address, options); diff --git a/src/tokenManagement/tokenManagementController.ts b/src/tokenManagement/tokenManagementController.ts index 2e5789f54..63d32b01d 100644 --- a/src/tokenManagement/tokenManagementController.ts +++ b/src/tokenManagement/tokenManagementController.ts @@ -30,7 +30,7 @@ export class TokenManagementController { nonce: bigint, options: resources.IssueFungibleInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForIssuingFungible(sender.address, options); @@ -56,7 +56,7 @@ export class TokenManagementController { nonce: bigint, options: resources.IssueSemiFungibleInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForIssuingSemiFungible(sender.address, options); @@ -82,7 +82,7 @@ export class TokenManagementController { nonce: bigint, options: resources.IssueNonFungibleInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForIssuingNonFungible(sender.address, options); @@ -108,7 +108,7 @@ export class TokenManagementController { nonce: bigint, options: resources.RegisterMetaESDTInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForRegisteringMetaESDT(sender.address, options); @@ -134,7 +134,7 @@ export class TokenManagementController { nonce: bigint, options: resources.RegisterRolesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForRegisteringAndSettingRoles(sender.address, options); @@ -160,7 +160,7 @@ export class TokenManagementController { nonce: bigint, options: resources.BurnRoleGloballyInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingBurnRoleGlobally(sender.address, options); @@ -186,7 +186,7 @@ export class TokenManagementController { nonce: bigint, options: resources.BurnRoleGloballyInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnsettingBurnRoleGlobally(sender.address, options); @@ -212,7 +212,7 @@ export class TokenManagementController { nonce: bigint, options: resources.FungibleSpecialRoleInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnFungibleToken(sender.address, options); @@ -238,7 +238,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SemiFungibleSpecialRoleInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnSemiFungibleToken( sender.address, @@ -267,7 +267,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SpecialRoleInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnNonFungibleToken( sender.address, @@ -296,7 +296,7 @@ export class TokenManagementController { nonce: bigint, options: resources.MintInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForCreatingNFT(sender.address, options); @@ -322,7 +322,7 @@ export class TokenManagementController { nonce: bigint, options: resources.PausingInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForPausing(sender.address, options); @@ -348,7 +348,7 @@ export class TokenManagementController { nonce: bigint, options: resources.PausingInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnpausing(sender.address, options); @@ -374,7 +374,7 @@ export class TokenManagementController { nonce: bigint, options: resources.ManagementInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForFreezing(sender.address, options); @@ -400,7 +400,7 @@ export class TokenManagementController { nonce: bigint, options: resources.ManagementInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUnfreezing(sender.address, options); @@ -426,7 +426,7 @@ export class TokenManagementController { nonce: bigint, options: resources.ManagementInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForWiping(sender.address, options); @@ -452,7 +452,7 @@ export class TokenManagementController { nonce: bigint, options: resources.LocalMintInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForLocalMint(sender.address, options); @@ -478,7 +478,7 @@ export class TokenManagementController { nonce: bigint, options: resources.LocalBurnInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForLocalBurning(sender.address, options); @@ -504,7 +504,7 @@ export class TokenManagementController { nonce: bigint, options: resources.UpdateAttributesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUpdatingAttributes(sender.address, options); @@ -530,7 +530,7 @@ export class TokenManagementController { nonce: bigint, options: resources.UpdateQuantityInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForAddingQuantity(sender.address, options); @@ -556,7 +556,7 @@ export class TokenManagementController { nonce: bigint, options: resources.UpdateQuantityInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForBurningQuantity(sender.address, options); @@ -582,7 +582,7 @@ export class TokenManagementController { nonce: bigint, options: resources.ModifyRoyaltiesInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForModifyingRoyalties(sender.address, options); @@ -608,7 +608,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SetNewUriInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForSettingNewUris(sender.address, options); @@ -634,7 +634,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SetNewUriInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForModifyingCreator(sender.address, options); @@ -660,7 +660,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SetNewUriInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForModifyingCreator(sender.address, options); @@ -686,7 +686,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SetNewUriInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForMetadataRecreate(sender.address, options); @@ -712,7 +712,7 @@ export class TokenManagementController { nonce: bigint, options: resources.SetNewUriInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForChangingTokenToDynamic(sender.address, options); @@ -738,7 +738,7 @@ export class TokenManagementController { nonce: bigint, options: resources.UpdateTokenIDInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForUpdatingTokenId(sender.address, options); @@ -760,7 +760,7 @@ export class TokenManagementController { nonce: bigint, options: resources.RegisteringDynamicTokenInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForRegisteringDynamicToken(sender.address, options); @@ -786,7 +786,7 @@ export class TokenManagementController { nonce: bigint, options: resources.RegisteringDynamicTokenInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForRegisteringDynamicAndSettingRoles(sender.address, options); diff --git a/src/transfers/transfersControllers.ts b/src/transfers/transfersControllers.ts index 117ce1b62..4d752871c 100644 --- a/src/transfers/transfersControllers.ts +++ b/src/transfers/transfersControllers.ts @@ -20,7 +20,7 @@ export class TransfersController { nonce: bigint, options: resources.NativeTokenTransferInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForNativeTokenTransfer(sender.address, options); @@ -37,7 +37,7 @@ export class TransfersController { nonce: bigint, options: resources.CustomTokenTransferInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForESDTTokenTransfer(sender.address, options); @@ -54,7 +54,7 @@ export class TransfersController { nonce: bigint, options: resources.CreateTransferTransactionInput, guardian: Address = Address.empty(), - relayer: Address = Address.empty() + relayer: Address = Address.empty(), ): Promise { const transaction = this.factory.createTransactionForTransfer(sender.address, options); From a9c5847e623f5a8a006d0020a42262e71e4e293d Mon Sep 17 00:00:00 2001 From: danielailie Date: Mon, 24 Feb 2025 16:27:26 +0200 Subject: [PATCH 03/10] Increase timeout --- src/entrypoints/entrypoints.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entrypoints/entrypoints.spec.ts b/src/entrypoints/entrypoints.spec.ts index 6b65ee610..8905552b2 100644 --- a/src/entrypoints/entrypoints.spec.ts +++ b/src/entrypoints/entrypoints.spec.ts @@ -58,7 +58,7 @@ describe("TestEntrypoint", () => { }); it("contract flow", async function () { - this.timeout(30000); + this.timeout(40000); const abi = await loadAbiRegistry("src/testdata/adder.abi.json"); const filePath = path.join("src", "testdata", "testwallets", "alice.pem"); const sender = await Account.newFromPem(filePath); From 077e9907a7ec2848dec0695a026b28e6124b66eb Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 11:18:00 +0200 Subject: [PATCH 04/10] Update controllers input parameters --- src/accountManagement/accountController.ts | 31 +-- src/delegation/delegationController.ts | 152 +++++------ src/entrypoints/entrypoints.spec.ts | 4 +- src/smartContracts/smartContractController.ts | 24 +- .../tokenManagementController.ts | 240 +++++++----------- src/transfers/transfersControllers.ts | 24 +- 6 files changed, 179 insertions(+), 296 deletions(-) diff --git a/src/accountManagement/accountController.ts b/src/accountManagement/accountController.ts index 128350dd6..1c1950020 100644 --- a/src/accountManagement/accountController.ts +++ b/src/accountManagement/accountController.ts @@ -20,14 +20,12 @@ export class AccountController { async createTransactionForSavingKeyValue( sender: IAccount, nonce: bigint, - options: SaveKeyValueInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: SaveKeyValueInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSavingKeyValue(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -37,14 +35,12 @@ export class AccountController { async createTransactionForSettingGuardian( sender: IAccount, nonce: bigint, - options: SetGuardianInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: SetGuardianInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingGuardian(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -54,13 +50,11 @@ export class AccountController { async createTransactionForGuardingAccount( sender: IAccount, nonce: bigint, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForGuardingAccount(sender.address); - - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -70,13 +64,12 @@ export class AccountController { async createTransactionForUnguardingAccount( sender: IAccount, nonce: bigint, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnguardingAccount(sender.address); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/delegation/delegationController.ts b/src/delegation/delegationController.ts index fc8555e24..f0c0f0f3e 100644 --- a/src/delegation/delegationController.ts +++ b/src/delegation/delegationController.ts @@ -28,14 +28,12 @@ export class DelegationController { async createTransactionForNewDelegationContract( sender: IAccount, nonce: bigint, - options: resources.NewDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.NewDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForNewDelegationContract(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -54,14 +52,12 @@ export class DelegationController { async createTransactionForAddingNodes( sender: IAccount, nonce: bigint, - options: resources.AddNodesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.AddNodesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForAddingNodes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -71,14 +67,12 @@ export class DelegationController { async createTransactionForRemovingNodes( sender: IAccount, nonce: bigint, - options: resources.ManageNodesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageNodesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForRemovingNodes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -88,14 +82,12 @@ export class DelegationController { async createTransactionForStakingNodes( sender: IAccount, nonce: bigint, - options: resources.ManageNodesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageNodesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForStakingNodes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -105,14 +97,12 @@ export class DelegationController { async createTransactionForUnbondingNodes( sender: IAccount, nonce: bigint, - options: resources.ManageNodesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageNodesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnbondingNodes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -122,14 +112,12 @@ export class DelegationController { async createTransactionForUnstakingNodes( sender: IAccount, nonce: bigint, - options: resources.ManageNodesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageNodesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnstakingNodes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -139,14 +127,12 @@ export class DelegationController { async createTransactionForUnjailingNodes( sender: IAccount, nonce: bigint, - options: resources.UnjailingNodesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.UnjailingNodesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnjailingNodes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -156,14 +142,12 @@ export class DelegationController { async createTransactionForChangingServiceFee( sender: IAccount, nonce: bigint, - options: resources.ChangeServiceFee, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ChangeServiceFee & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForChangingServiceFee(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -173,14 +157,12 @@ export class DelegationController { async createTransactionForModifyingDelegationCap( sender: IAccount, nonce: bigint, - options: resources.ModifyDelegationCapInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ModifyDelegationCapInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForModifyingDelegationCap(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -190,14 +172,12 @@ export class DelegationController { async createTransactionForSettingAutomaticActivation( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingAutomaticActivation(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -207,14 +187,12 @@ export class DelegationController { async createTransactionForUnsettingAutomaticActivation( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnsettingAutomaticActivation(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -224,17 +202,15 @@ export class DelegationController { async createTransactionForSettingCapCheckOnRedelegateRewards( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingCapCheckOnRedelegateRewards( sender.address, options, ); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -244,17 +220,15 @@ export class DelegationController { async createTransactionForUnsettingCapCheckOnRedelegateRewards( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnsettingCapCheckOnRedelegateRewards( sender.address, options, ); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -264,14 +238,12 @@ export class DelegationController { async createTransactionForSettingMetadata( sender: IAccount, nonce: bigint, - options: resources.SetContractMetadataInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SetContractMetadataInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingMetadata(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -281,14 +253,12 @@ export class DelegationController { async createTransactionForDelegating( sender: IAccount, nonce: bigint, - options: resources.DelegateActionsInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.DelegateActionsInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForDelegating(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -298,14 +268,12 @@ export class DelegationController { async createTransactionForClaimingRewards( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForClaimingRewards(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -315,14 +283,12 @@ export class DelegationController { async createTransactionForRedelegatingRewards( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForRedelegatingRewards(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -332,14 +298,12 @@ export class DelegationController { async createTransactionForUndelegating( sender: IAccount, nonce: bigint, - options: resources.DelegateActionsInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.DelegateActionsInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUndelegating(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -349,15 +313,13 @@ export class DelegationController { async createTransactionForWithdrawing( sender: IAccount, nonce: bigint, - options: resources.ManageDelegationContractInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManageDelegationContractInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForWithdrawing(sender.address, options); transaction.nonce = nonce; - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/entrypoints/entrypoints.spec.ts b/src/entrypoints/entrypoints.spec.ts index 8905552b2..11a245fb2 100644 --- a/src/entrypoints/entrypoints.spec.ts +++ b/src/entrypoints/entrypoints.spec.ts @@ -46,9 +46,9 @@ describe("TestEntrypoint", () => { receiver: sender.address, nativeAmount: BigInt(0), data: Buffer.from("hello"), + guardian: grace.address, + relayer: grace.address, }, - grace.address, - grace.address, ); assert.deepEqual(transaction.guardian, grace.address); assert.deepEqual(transaction.relayer, grace.address); diff --git a/src/smartContracts/smartContractController.ts b/src/smartContracts/smartContractController.ts index 253ff3405..5a7be445d 100644 --- a/src/smartContracts/smartContractController.ts +++ b/src/smartContracts/smartContractController.ts @@ -36,14 +36,12 @@ export class SmartContractController { async createTransactionForDeploy( sender: IAccount, nonce: bigint, - options: resources.ContractDeployInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ContractDeployInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForDeploy(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -62,14 +60,12 @@ export class SmartContractController { async createTransactionForUpgrade( sender: IAccount, nonce: bigint, - options: resources.ContractUpgradeInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ContractUpgradeInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUpgrade(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -79,14 +75,12 @@ export class SmartContractController { async createTransactionForExecute( sender: IAccount, nonce: bigint, - options: resources.ContractExecuteInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ContractExecuteInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForExecute(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/tokenManagement/tokenManagementController.ts b/src/tokenManagement/tokenManagementController.ts index 63d32b01d..e63821477 100644 --- a/src/tokenManagement/tokenManagementController.ts +++ b/src/tokenManagement/tokenManagementController.ts @@ -28,14 +28,12 @@ export class TokenManagementController { async createTransactionForIssuingFungible( sender: IAccount, nonce: bigint, - options: resources.IssueFungibleInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.IssueFungibleInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForIssuingFungible(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -54,14 +52,12 @@ export class TokenManagementController { async createTransactionForIssuingSemiFungible( sender: IAccount, nonce: bigint, - options: resources.IssueSemiFungibleInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.IssueSemiFungibleInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForIssuingSemiFungible(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -80,14 +76,12 @@ export class TokenManagementController { async createTransactionForIssuingNonFungible( sender: IAccount, nonce: bigint, - options: resources.IssueNonFungibleInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.IssueNonFungibleInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForIssuingNonFungible(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -106,14 +100,12 @@ export class TokenManagementController { async createTransactionForRegisteringMetaEsdt( sender: IAccount, nonce: bigint, - options: resources.RegisterMetaESDTInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.RegisterMetaESDTInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForRegisteringMetaESDT(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -132,14 +124,12 @@ export class TokenManagementController { async createTransactionForRegisteringAndSettingRoles( sender: IAccount, nonce: bigint, - options: resources.RegisterRolesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.RegisterRolesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForRegisteringAndSettingRoles(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -158,14 +148,12 @@ export class TokenManagementController { async createTransactionForSetBurnRoleGlobally( sender: IAccount, nonce: bigint, - options: resources.BurnRoleGloballyInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.BurnRoleGloballyInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingBurnRoleGlobally(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -184,14 +172,12 @@ export class TokenManagementController { async createTransactionForUnsettingBurnRoleGlobally( sender: IAccount, nonce: bigint, - options: resources.BurnRoleGloballyInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.BurnRoleGloballyInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnsettingBurnRoleGlobally(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -210,14 +196,12 @@ export class TokenManagementController { async createTransactionForSettingSpecialRoleOnFungibleToken( sender: IAccount, nonce: bigint, - options: resources.FungibleSpecialRoleInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.FungibleSpecialRoleInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnFungibleToken(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -236,17 +220,15 @@ export class TokenManagementController { async createTransactionForSettingSpecialRoleOnSemiFungibleToken( sender: IAccount, nonce: bigint, - options: resources.SemiFungibleSpecialRoleInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SemiFungibleSpecialRoleInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnSemiFungibleToken( sender.address, options, ); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -265,17 +247,15 @@ export class TokenManagementController { async createTransactionForSettingSpecialRoleOnNonFungibleToken( sender: IAccount, nonce: bigint, - options: resources.SpecialRoleInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SpecialRoleInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingSpecialRoleOnNonFungibleToken( sender.address, options, ); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -294,14 +274,12 @@ export class TokenManagementController { async createTransactionForCreatingNft( sender: IAccount, nonce: bigint, - options: resources.MintInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.MintInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForCreatingNFT(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -320,14 +298,12 @@ export class TokenManagementController { async createTransactionForPausing( sender: IAccount, nonce: bigint, - options: resources.PausingInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.PausingInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForPausing(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -346,14 +322,12 @@ export class TokenManagementController { async createTransactionForUnpausing( sender: IAccount, nonce: bigint, - options: resources.PausingInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.PausingInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnpausing(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -372,14 +346,12 @@ export class TokenManagementController { async createTransactionForFreezing( sender: IAccount, nonce: bigint, - options: resources.ManagementInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManagementInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForFreezing(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -398,14 +370,12 @@ export class TokenManagementController { async createTransactionForUnFreezing( sender: IAccount, nonce: bigint, - options: resources.ManagementInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManagementInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnfreezing(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -424,14 +394,12 @@ export class TokenManagementController { async createTransactionForWiping( sender: IAccount, nonce: bigint, - options: resources.ManagementInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ManagementInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForWiping(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -450,14 +418,12 @@ export class TokenManagementController { async createTransactionForLocaMinting( sender: IAccount, nonce: bigint, - options: resources.LocalMintInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.LocalMintInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForLocalMint(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -476,14 +442,12 @@ export class TokenManagementController { async createTransactionForLocalBurning( sender: IAccount, nonce: bigint, - options: resources.LocalBurnInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.LocalBurnInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForLocalBurning(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -502,14 +466,12 @@ export class TokenManagementController { async createTransactionForUpdatingAttributes( sender: IAccount, nonce: bigint, - options: resources.UpdateAttributesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.UpdateAttributesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUpdatingAttributes(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -528,14 +490,12 @@ export class TokenManagementController { async createTransactionForAddingQuantity( sender: IAccount, nonce: bigint, - options: resources.UpdateQuantityInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.UpdateQuantityInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForAddingQuantity(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -554,14 +514,12 @@ export class TokenManagementController { async createTransactionForBurningQuantity( sender: IAccount, nonce: bigint, - options: resources.UpdateQuantityInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.UpdateQuantityInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForBurningQuantity(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -580,14 +538,12 @@ export class TokenManagementController { async createTransactionForModifyingRoyalties( sender: IAccount, nonce: bigint, - options: resources.ModifyRoyaltiesInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.ModifyRoyaltiesInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForModifyingRoyalties(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -606,14 +562,12 @@ export class TokenManagementController { async createTransactionForSettingNewUris( sender: IAccount, nonce: bigint, - options: resources.SetNewUriInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SetNewUriInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForSettingNewUris(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -632,14 +586,12 @@ export class TokenManagementController { async createTransactionForModifyingCreator( sender: IAccount, nonce: bigint, - options: resources.SetNewUriInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SetNewUriInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForModifyingCreator(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -658,14 +610,12 @@ export class TokenManagementController { async createTransactionForUpdatingMetadata( sender: IAccount, nonce: bigint, - options: resources.SetNewUriInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SetNewUriInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForModifyingCreator(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -684,14 +634,12 @@ export class TokenManagementController { async createTransactionForMetadataRecreate( sender: IAccount, nonce: bigint, - options: resources.SetNewUriInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SetNewUriInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForMetadataRecreate(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -710,14 +658,12 @@ export class TokenManagementController { async createTransactionForChangingTokenToDynamic( sender: IAccount, nonce: bigint, - options: resources.SetNewUriInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.SetNewUriInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForChangingTokenToDynamic(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -736,14 +682,12 @@ export class TokenManagementController { async createTransactionForUpdatingTokenId( sender: IAccount, nonce: bigint, - options: resources.UpdateTokenIDInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.UpdateTokenIDInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUpdatingTokenId(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -758,14 +702,12 @@ export class TokenManagementController { async createTransactionForRegisteringDynamicToken( sender: IAccount, nonce: bigint, - options: resources.RegisteringDynamicTokenInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.RegisteringDynamicTokenInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForRegisteringDynamicToken(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -784,14 +726,12 @@ export class TokenManagementController { async createTransactionForRegisteringDynamicTokenAndSettingRoles( sender: IAccount, nonce: bigint, - options: resources.RegisteringDynamicTokenInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.RegisteringDynamicTokenInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForRegisteringDynamicAndSettingRoles(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); diff --git a/src/transfers/transfersControllers.ts b/src/transfers/transfersControllers.ts index 4d752871c..55f5d446d 100644 --- a/src/transfers/transfersControllers.ts +++ b/src/transfers/transfersControllers.ts @@ -18,14 +18,12 @@ export class TransfersController { async createTransactionForNativeTokenTransfer( sender: IAccount, nonce: bigint, - options: resources.NativeTokenTransferInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.NativeTokenTransferInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForNativeTokenTransfer(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -35,14 +33,12 @@ export class TransfersController { async createTransactionForEsdtTokenTransfer( sender: IAccount, nonce: bigint, - options: resources.CustomTokenTransferInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.CustomTokenTransferInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForESDTTokenTransfer(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -52,14 +48,12 @@ export class TransfersController { async createTransactionForTransfer( sender: IAccount, nonce: bigint, - options: resources.CreateTransferTransactionInput, - guardian: Address = Address.empty(), - relayer: Address = Address.empty(), + options: resources.CreateTransferTransactionInput & { guardian?: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForTransfer(sender.address, options); - transaction.guardian = guardian; - transaction.relayer = relayer; + transaction.guardian = options.guardian ?? Address.empty(); + transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); From b79a40508861b163d682e95c41b3b1a30086b86f Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 11:41:25 +0200 Subject: [PATCH 05/10] Clean up transaction watcher --- src/core/transactionWatcher.ts | 52 +++++++--------------------------- 1 file changed, 10 insertions(+), 42 deletions(-) diff --git a/src/core/transactionWatcher.ts b/src/core/transactionWatcher.ts index 3442b117b..b53b77532 100644 --- a/src/core/transactionWatcher.ts +++ b/src/core/transactionWatcher.ts @@ -1,5 +1,4 @@ import { AsyncTimer } from "./asyncTimer"; -import { HEX_TRANSACTION_HASH_LENGTH } from "./constants"; import { Err, ErrExpectedTransactionEventsNotFound, @@ -14,13 +13,6 @@ import { TransactionStatus } from "./transactionStatus"; export type PredicateIsAwaitedStatus = (status: TransactionStatus) => boolean; -/** - * Internal interface: a transaction, as seen from the perspective of a {@link TransactionWatcher}. - */ -interface ITransaction { - getHash(): { hex(): string }; -} - /** * TransactionWatcher allows one to continuously watch (monitor), by means of polling, the status of a given transaction. */ @@ -64,11 +56,10 @@ export class TransactionWatcher { * Waits until the transaction reaches the "pending" status. * @param txHash The hex-encoded transaction hash */ - public async awaitPending(transactionOrTxHash: ITransaction | string): Promise { + public async awaitPending(txHash: string): Promise { const isPending = (transaction: TransactionOnNetwork) => transaction.status.isPending(); const doFetch = async () => { - const hash = this.transactionOrTxHashToTxHash(transactionOrTxHash); - return await this.fetcher.getTransaction(hash); + return await this.fetcher.getTransaction(txHash); }; const errorProvider = () => new ErrExpectedTransactionStatusNotReached(); @@ -79,24 +70,20 @@ export class TransactionWatcher { * Waits until the transaction is completely processed. * @param txHash The hex-encoded transaction hash */ - public async awaitCompleted(transactionOrTxHash: ITransaction | string): Promise { + public async awaitCompleted(txhash: string): Promise { const isCompleted = (transactionOnNetwork: TransactionOnNetwork) => { return transactionOnNetwork.status.isCompleted(); }; const doFetch = async () => { - const hash = this.transactionOrTxHashToTxHash(transactionOrTxHash); - return await this.fetcher.getTransaction(hash); + return await this.fetcher.getTransaction(txhash); }; const errorProvider = () => new ErrExpectedTransactionStatusNotReached(); return this.awaitConditionally(isCompleted, doFetch, errorProvider); } - public async awaitAllEvents( - transactionOrTxHash: ITransaction | string, - events: string[], - ): Promise { + public async awaitAllEvents(txHash: string, events: string[]): Promise { const foundAllEvents = (transactionOnNetwork: TransactionOnNetwork) => { const allEventIdentifiers = this.getAllTransactionEvents(transactionOnNetwork).map( (event) => event.identifier, @@ -106,18 +93,14 @@ export class TransactionWatcher { }; const doFetch = async () => { - const hash = this.transactionOrTxHashToTxHash(transactionOrTxHash); - return await this.fetcher.getTransaction(hash); + return await this.fetcher.getTransaction(txHash); }; const errorProvider = () => new ErrExpectedTransactionEventsNotFound(); return this.awaitConditionally(foundAllEvents, doFetch, errorProvider); } - public async awaitAnyEvent( - transactionOrTxHash: ITransaction | string, - events: string[], - ): Promise { + public async awaitAnyEvent(txHash: string, events: string[]): Promise { const foundAnyEvent = (transactionOnNetwork: TransactionOnNetwork) => { const allEventIdentifiers = this.getAllTransactionEvents(transactionOnNetwork).map( (event) => event.identifier, @@ -127,8 +110,7 @@ export class TransactionWatcher { }; const doFetch = async () => { - const hash = this.transactionOrTxHashToTxHash(transactionOrTxHash); - return await this.fetcher.getTransaction(hash); + return await this.fetcher.getTransaction(txHash); }; const errorProvider = () => new ErrExpectedTransactionEventsNotFound(); @@ -136,31 +118,17 @@ export class TransactionWatcher { } public async awaitOnCondition( - transactionOrTxHash: ITransaction | string, + txHash: string, condition: (data: TransactionOnNetwork) => boolean, ): Promise { const doFetch = async () => { - const hash = this.transactionOrTxHashToTxHash(transactionOrTxHash); - return await this.fetcher.getTransaction(hash); + return await this.fetcher.getTransaction(txHash); }; const errorProvider = () => new ErrExpectedTransactionStatusNotReached(); return this.awaitConditionally(condition, doFetch, errorProvider); } - private transactionOrTxHashToTxHash(transactionOrTxHash: ITransaction | string): string { - const hash = - typeof transactionOrTxHash === "string" ? transactionOrTxHash : transactionOrTxHash.getHash().hex(); - - if (hash.length !== HEX_TRANSACTION_HASH_LENGTH) { - throw new Err( - `Invalid transaction hash length. The length of a hex encoded hash should be ${HEX_TRANSACTION_HASH_LENGTH}.`, - ); - } - - return hash; - } - protected async awaitConditionally( isSatisfied: (data: TData) => boolean, doFetch: () => Promise, From 7eb2cb9216adb53a08250c51b6b5f87f70ebc89e Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 11:45:48 +0200 Subject: [PATCH 06/10] Fix contract flow test --- src/entrypoints/entrypoints.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/entrypoints/entrypoints.spec.ts b/src/entrypoints/entrypoints.spec.ts index 11a245fb2..84dda3135 100644 --- a/src/entrypoints/entrypoints.spec.ts +++ b/src/entrypoints/entrypoints.spec.ts @@ -6,7 +6,7 @@ import { Address } from "../core"; import { loadAbiRegistry } from "../testutils"; import { DevnetEntrypoint } from "./entrypoints"; -describe("TestEntrypoint", () => { +describe("TestEntrypoint", function () { const entrypoint = new DevnetEntrypoint(); before(async function () {}); @@ -58,7 +58,7 @@ describe("TestEntrypoint", () => { }); it("contract flow", async function () { - this.timeout(40000); + this.timeout(30000); const abi = await loadAbiRegistry("src/testdata/adder.abi.json"); const filePath = path.join("src", "testdata", "testwallets", "alice.pem"); const sender = await Account.newFromPem(filePath); From cfa32ee50ba496b87c123cba9707368a67435572 Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 11:56:34 +0200 Subject: [PATCH 07/10] Change wallet for contract deploy --- src/entrypoints/entrypoints.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entrypoints/entrypoints.spec.ts b/src/entrypoints/entrypoints.spec.ts index 84dda3135..742bb3cd8 100644 --- a/src/entrypoints/entrypoints.spec.ts +++ b/src/entrypoints/entrypoints.spec.ts @@ -60,7 +60,7 @@ describe("TestEntrypoint", function () { it("contract flow", async function () { this.timeout(30000); const abi = await loadAbiRegistry("src/testdata/adder.abi.json"); - const filePath = path.join("src", "testdata", "testwallets", "alice.pem"); + const filePath = path.join("src", "testdata", "testwallets", "grace.pem"); const sender = await Account.newFromPem(filePath); sender.nonce = await entrypoint.recallAccountNonce(sender.address); From 3c1f03d853d608dd9917164c631ab8c474b0a819 Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 13:15:58 +0200 Subject: [PATCH 08/10] Fix tests --- src/abi/interaction.spec.ts | 11 +++----- src/abi/smartContract.local.net.spec.ts | 27 +++++++------------ src/abi/smartContract.spec.ts | 26 +++++++++--------- .../smartContractResults.local.net.spec.ts | 20 +++++++------- src/core/transactionWatcher.ts | 6 ++--- src/testutils/utils.ts | 6 ----- 6 files changed, 40 insertions(+), 56 deletions(-) diff --git a/src/abi/interaction.spec.ts b/src/abi/interaction.spec.ts index d00d31b18..40a3c361b 100644 --- a/src/abi/interaction.spec.ts +++ b/src/abi/interaction.spec.ts @@ -6,7 +6,7 @@ import { SmartContractQueryResponse } from "../core/smartContractQuery"; import { Token, TokenTransfer } from "../core/tokens"; import { Transaction } from "../core/transaction"; import { SmartContractController } from "../smartContracts"; -import { loadAbiRegistry, MockNetworkProvider, setupUnitTestWatcherTimeouts } from "../testutils"; +import { loadAbiRegistry, MockNetworkProvider } from "../testutils"; import { getTestWalletsPath } from "../testutils/utils"; import { ContractFunction } from "./function"; import { Interaction } from "./interaction"; @@ -204,8 +204,7 @@ describe("test smart contract interactor", function () { }); it("should interact with 'answer'", async function () { - setupUnitTestWatcherTimeouts(); - + this.timeout(30000); let abiRegistry = await loadAbiRegistry("src/testdata/answer.abi.json"); let contract = new SmartContract({ address: dummyAddress, abi: abiRegistry }); let controller = new SmartContractController({ chainID: "D", networkProvider: provider, abi: abiRegistry }); @@ -270,8 +269,7 @@ describe("test smart contract interactor", function () { }); it("should interact with 'counter'", async function () { - setupUnitTestWatcherTimeouts(); - + this.timeout(30000); let abi = await loadAbiRegistry("src/testdata/counter.abi.json"); let contract = new SmartContract({ address: dummyAddress, abi: abi }); let controller = new SmartContractController({ chainID: "D", networkProvider: provider, abi: abi }); @@ -339,8 +337,7 @@ describe("test smart contract interactor", function () { }); it("should interact with 'lottery-esdt'", async function () { - setupUnitTestWatcherTimeouts(); - + this.timeout(30000); let abiRegistry = await loadAbiRegistry("src/testdata/lottery-esdt.abi.json"); let contract = new SmartContract({ address: dummyAddress, abi: abiRegistry }); let controller = new SmartContractController({ chainID: "D", networkProvider: provider, abi: abiRegistry }); diff --git a/src/abi/smartContract.local.net.spec.ts b/src/abi/smartContract.local.net.spec.ts index 24482aa2b..9e97bbfb6 100644 --- a/src/abi/smartContract.local.net.spec.ts +++ b/src/abi/smartContract.local.net.spec.ts @@ -34,20 +34,23 @@ describe("test on local testnet", function () { bob = await Account.newFromPem(`${getTestWalletsPath()}/bob.pem`); carol = await Account.newFromPem(`${getTestWalletsPath()}/carol.pem`); - watcher = new TransactionWatcher({ - getTransaction: async (hash: string) => { - return await provider.getTransaction(hash); + watcher = new TransactionWatcher( + { + getTransaction: async (hash: string) => { + return await provider.getTransaction(hash); + }, }, - }); + { + pollingIntervalMilliseconds: 5000, + timeoutMilliseconds: 50000, + }, + ); parser = new SmartContractTransactionsOutcomeParser(); }); it("counter: should deploy, then simulate transactions using SmartContractTransactionsFactory", async function () { this.timeout(60000); - TransactionWatcher.DefaultPollingInterval = 5000; - TransactionWatcher.DefaultTimeout = 50000; - let network = await provider.getNetworkConfig(); const config = new TransactionsFactoryConfig({ chainID: network.chainID }); @@ -121,9 +124,6 @@ describe("test on local testnet", function () { it("counter: should deploy, call and query contract using SmartContractTransactionsFactory", async function () { this.timeout(80000); - TransactionWatcher.DefaultPollingInterval = 5000; - TransactionWatcher.DefaultTimeout = 50000; - let network = await provider.getNetworkConfig(); const config = new TransactionsFactoryConfig({ chainID: network.chainID }); @@ -187,9 +187,6 @@ describe("test on local testnet", function () { it("erc20: should deploy, call and query contract using SmartContractTransactionsFactory", async function () { this.timeout(60000); - TransactionWatcher.DefaultPollingInterval = 5000; - TransactionWatcher.DefaultTimeout = 50000; - let network = await provider.getNetworkConfig(); const config = new TransactionsFactoryConfig({ chainID: network.chainID }); @@ -277,10 +274,6 @@ describe("test on local testnet", function () { it("lottery: should deploy, call and query contract using SmartContractTransactionsFactory", async function () { this.timeout(60000); - - TransactionWatcher.DefaultPollingInterval = 5000; - TransactionWatcher.DefaultTimeout = 50000; - let network = await provider.getNetworkConfig(); alice.nonce = (await provider.getAccount(alice.address)).nonce; diff --git a/src/abi/smartContract.spec.ts b/src/abi/smartContract.spec.ts index c53bee3e7..e2a10d45e 100644 --- a/src/abi/smartContract.spec.ts +++ b/src/abi/smartContract.spec.ts @@ -4,13 +4,7 @@ import { Address } from "../core/address"; import { TransactionComputer } from "../core/transactionComputer"; import { TransactionStatus } from "../core/transactionStatus"; import { TransactionWatcher } from "../core/transactionWatcher"; -import { - getTestWalletsPath, - MarkCompleted, - MockNetworkProvider, - setupUnitTestWatcherTimeouts, - Wait, -} from "../testutils"; +import { getTestWalletsPath, MarkCompleted, MockNetworkProvider, Wait } from "../testutils"; import { Code } from "./code"; import { ContractFunction } from "./function"; import { SmartContract } from "./smartContract"; @@ -41,8 +35,10 @@ describe("test contract", () => { }); it("should deploy", async () => { - setupUnitTestWatcherTimeouts(); - let watcher = new TransactionWatcher(provider); + let watcher = new TransactionWatcher(provider, { + pollingIntervalMilliseconds: 42, + timeoutMilliseconds: 42 * 42, + }); let contract = new SmartContract(); let deployTransaction = contract.deploy({ @@ -87,8 +83,10 @@ describe("test contract", () => { }); it("should call", async () => { - setupUnitTestWatcherTimeouts(); - let watcher = new TransactionWatcher(provider); + let watcher = new TransactionWatcher(provider, { + pollingIntervalMilliseconds: 42, + timeoutMilliseconds: 42 * 42, + }); let contract = new SmartContract({ address: new Address("erd1qqqqqqqqqqqqqpgqak8zt22wl2ph4tswtyc39namqx6ysa2sd8ss4xmlj3"), @@ -154,8 +152,10 @@ describe("test contract", () => { }); it("should upgrade", async () => { - setupUnitTestWatcherTimeouts(); - let watcher = new TransactionWatcher(provider); + let watcher = new TransactionWatcher(provider, { + pollingIntervalMilliseconds: 42, + timeoutMilliseconds: 42 * 42, + }); let contract = new SmartContract(); contract.setAddress(Address.newFromBech32("erd1qqqqqqqqqqqqqpgq3ytm9m8dpeud35v3us20vsafp77smqghd8ss4jtm0q")); diff --git a/src/abi/smartContractResults.local.net.spec.ts b/src/abi/smartContractResults.local.net.spec.ts index e8a3411ef..b66dbbd51 100644 --- a/src/abi/smartContractResults.local.net.spec.ts +++ b/src/abi/smartContractResults.local.net.spec.ts @@ -17,11 +17,17 @@ describe("fetch transactions from local testnet", function () { before(async function () { alice = await Account.newFromPem(`${getTestWalletsPath()}/alice.pem`); - watcher = new TransactionWatcher({ - getTransaction: async (hash: string) => { - return await provider.getTransaction(hash); + watcher = new TransactionWatcher( + { + getTransaction: async (hash: string) => { + return await provider.getTransaction(hash); + }, }, - }); + { + pollingIntervalMilliseconds: 5000, + timeoutMilliseconds: 50000, + }, + ); parser = new SmartContractTransactionsOutcomeParser(); }); @@ -29,9 +35,6 @@ describe("fetch transactions from local testnet", function () { it("counter smart contract", async function () { this.timeout(60000); - TransactionWatcher.DefaultPollingInterval = 5000; - TransactionWatcher.DefaultTimeout = 50000; - let network = await provider.getNetworkConfig(); alice.nonce = (await provider.getAccount(alice.address)).nonce; @@ -78,9 +81,6 @@ describe("fetch transactions from local testnet", function () { it("interact with counter smart contract using SmartContractTransactionsFactory", async function () { this.timeout(60000); - TransactionWatcher.DefaultPollingInterval = 5000; - TransactionWatcher.DefaultTimeout = 50000; - let network = await provider.getNetworkConfig(); const config = new TransactionsFactoryConfig({ chainID: network.chainID }); diff --git a/src/core/transactionWatcher.ts b/src/core/transactionWatcher.ts index b53b77532..08defcb89 100644 --- a/src/core/transactionWatcher.ts +++ b/src/core/transactionWatcher.ts @@ -17,9 +17,9 @@ export type PredicateIsAwaitedStatus = (status: TransactionStatus) => boolean; * TransactionWatcher allows one to continuously watch (monitor), by means of polling, the status of a given transaction. */ export class TransactionWatcher { - static DefaultPollingInterval: number = 6000; - static DefaultTimeout: number = TransactionWatcher.DefaultPollingInterval * 15; - static DefaultPatience: number = 0; + private static DefaultPollingInterval: number = 6000; + private static DefaultTimeout: number = TransactionWatcher.DefaultPollingInterval * 15; + private static DefaultPatience: number = 0; static NoopOnStatusReceived = (_: TransactionStatus) => {}; diff --git a/src/testutils/utils.ts b/src/testutils/utils.ts index e91531f5c..ce2f96c1a 100644 --- a/src/testutils/utils.ts +++ b/src/testutils/utils.ts @@ -4,7 +4,6 @@ import { resolve } from "path"; import { AbiRegistry, Code, SmartContract, TypedValue } from "../abi"; import { Account } from "../accounts"; import { Transaction } from "../core/transaction"; -import { TransactionWatcher } from "../core/transactionWatcher"; import { getAxios } from "../core/utils"; export async function prepareDeployment(obj: { @@ -81,11 +80,6 @@ export function isOnBrowserTests() { return isOnTests; } -export function setupUnitTestWatcherTimeouts() { - TransactionWatcher.DefaultPollingInterval = 42; - TransactionWatcher.DefaultTimeout = 42 * 42; -} - export function createAccountBalance(egld: number): bigint { return BigInt(egld.toString() + "0".repeat(18)); } From 592928c50054839130c157b9f6adc680ea49c4e8 Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 14:22:53 +0200 Subject: [PATCH 09/10] Fix accunt controller --- src/accountManagement/accountController.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/accountManagement/accountController.ts b/src/accountManagement/accountController.ts index 1c1950020..e4cb9c455 100644 --- a/src/accountManagement/accountController.ts +++ b/src/accountManagement/accountController.ts @@ -50,10 +50,9 @@ export class AccountController { async createTransactionForGuardingAccount( sender: IAccount, nonce: bigint, - options: { guardian?: Address; relayer?: Address }, + options: { relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForGuardingAccount(sender.address); - transaction.guardian = options.guardian ?? Address.empty(); transaction.relayer = options.relayer ?? Address.empty(); transaction.nonce = nonce; transaction.signature = await sender.sign(this.txComputer.computeBytesForSigning(transaction)); @@ -64,7 +63,7 @@ export class AccountController { async createTransactionForUnguardingAccount( sender: IAccount, nonce: bigint, - options: { guardian?: Address; relayer?: Address }, + options: { guardian: Address; relayer?: Address }, ): Promise { const transaction = this.factory.createTransactionForUnguardingAccount(sender.address); From 7324c6d3d9272fff177736c39fba7ed38f4acd57 Mon Sep 17 00:00:00 2001 From: danielailie Date: Tue, 25 Feb 2025 14:35:28 +0200 Subject: [PATCH 10/10] Bump version --- package-lock.json | 17 +++++++++-------- package.json | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28ac6bdd1..73f49d64b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@multiversx/sdk-core", - "version": "13.17.1", + "version": "14.0.0-beta.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@multiversx/sdk-core", - "version": "13.17.1", + "version": "14.0.0-beta.0", "license": "MIT", "dependencies": { "@multiversx/sdk-transaction-decoder": "1.0.2", @@ -1779,10 +1779,11 @@ } }, "node_modules/elliptic": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", - "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -6586,9 +6587,9 @@ } }, "elliptic": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", - "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "dev": true, "requires": { "bn.js": "^4.11.9", diff --git a/package.json b/package.json index fa4d76b4a..42dee64ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@multiversx/sdk-core", - "version": "13.17.1", + "version": "14.0.0-beta.0", "description": "MultiversX SDK for JavaScript and TypeScript", "author": "MultiversX", "homepage": "https://multiversx.com",