From 32594ea4e0d530b8cc8a23b19d27284af56ae2cc Mon Sep 17 00:00:00 2001 From: Dharitri-org Date: Fri, 22 Mar 2024 11:04:03 +0530 Subject: [PATCH] v0.1.7 --- builtInFunctions/changeOwnerAddress.go | 45 ++- builtInFunctions/changeOwnerAddress_test.go | 54 +++- builtInFunctions/creator.go | 6 +- coverage.txt | 307 ++++++++++---------- go.mod | 2 + go.sum | 4 +- interface.go | 1 + mock/enableEpochsHandlerStub.go | 5 + 8 files changed, 263 insertions(+), 161 deletions(-) diff --git a/builtInFunctions/changeOwnerAddress.go b/builtInFunctions/changeOwnerAddress.go index 885b550..907c506 100644 --- a/builtInFunctions/changeOwnerAddress.go +++ b/builtInFunctions/changeOwnerAddress.go @@ -5,6 +5,7 @@ import ( "fmt" "sync" + "github.com/Dharitri-org/drtg-core/core" "github.com/Dharitri-org/drtg-core/core/check" vmcommon "github.com/Dharitri-org/drtg-vm-common" ) @@ -13,11 +14,20 @@ type changeOwnerAddress struct { baseAlwaysActiveHandler gasCost uint64 mutExecution sync.RWMutex + + enableEpochsHandler vmcommon.EnableEpochsHandler } -// NewChangeOwnerAddressFunc create a new change owner built in function -func NewChangeOwnerAddressFunc(gasCost uint64) *changeOwnerAddress { - return &changeOwnerAddress{gasCost: gasCost} +// NewChangeOwnerAddressFunc create a new change owner built-in function +func NewChangeOwnerAddressFunc(gasCost uint64, enableEpochsHandler vmcommon.EnableEpochsHandler) (*changeOwnerAddress, error) { + if check.IfNil(enableEpochsHandler) { + return nil, ErrNilEnableEpochsHandler + } + + return &changeOwnerAddress{ + gasCost: gasCost, + enableEpochsHandler: enableEpochsHandler, + }, nil } // SetNewGasConfig is called whenever gas cost is changed @@ -55,9 +65,12 @@ func (c *changeOwnerAddress) ProcessBuiltinFunction( return nil, ErrNotEnoughGas } gasRemaining := computeGasRemaining(acntSnd, vmInput.GasProvided, c.gasCost) + + vmOutput := &vmcommon.VMOutput{ReturnCode: vmcommon.Ok, GasRemaining: gasRemaining} + if check.IfNil(acntDst) { - // cross-shard call, in sender shard only the gas is taken out - return &vmcommon.VMOutput{ReturnCode: vmcommon.Ok, GasRemaining: gasRemaining}, nil + c.addOutputTransferToVmOutputForCallThroughSC(acntDst, vmInput, vmOutput) + return vmOutput, nil } if !bytes.Equal(vmInput.CallerAddr, acntDst.GetOwnerAddress()) { @@ -69,7 +82,6 @@ func (c *changeOwnerAddress) ProcessBuiltinFunction( return nil, err } - vmOutput := &vmcommon.VMOutput{GasRemaining: gasRemaining, ReturnCode: vmcommon.Ok} logEntry := &vmcommon.LogEntry{ Identifier: []byte(vmInput.Function), Address: vmInput.RecipientAddr, @@ -81,6 +93,27 @@ func (c *changeOwnerAddress) ProcessBuiltinFunction( return vmOutput, nil } +func (c *changeOwnerAddress) addOutputTransferToVmOutputForCallThroughSC(acntDst vmcommon.UserAccountHandler, vmInput *vmcommon.ContractCallInput, vmOutput *vmcommon.VMOutput) { + if !c.enableEpochsHandler.IsChangeOwnerAddressCrossShardThroughSCEnabled() { + return + } + + isCrossShardCallThroughASmartContract := check.IfNil(acntDst) && vmcommon.IsSmartContractAddress(vmInput.CallerAddr) + if !isCrossShardCallThroughASmartContract { + return + } + + addOutputTransferToVMOutput( + 1, + vmInput.CallerAddr, + core.BuiltInFunctionChangeOwnerAddress, + vmInput.Arguments, + vmInput.RecipientAddr, + vmInput.GasLocked, + vmInput.CallType, + vmOutput) +} + func computeGasRemaining(snd vmcommon.UserAccountHandler, gasProvided uint64, gasToUse uint64) uint64 { if gasProvided < gasToUse { return 0 diff --git a/builtInFunctions/changeOwnerAddress_test.go b/builtInFunctions/changeOwnerAddress_test.go index 0afd60d..b1d5055 100644 --- a/builtInFunctions/changeOwnerAddress_test.go +++ b/builtInFunctions/changeOwnerAddress_test.go @@ -6,16 +6,27 @@ import ( "github.com/Dharitri-org/drtg-core/core" "github.com/Dharitri-org/drtg-core/core/check" + "github.com/Dharitri-org/drtg-core/data/vm" vmcommon "github.com/Dharitri-org/drtg-vm-common" "github.com/Dharitri-org/drtg-vm-common/mock" "github.com/stretchr/testify/require" ) +func TestNewChangeOwnerNilEnableEpochsHandler(t *testing.T) { + t.Parallel() + + gasCost := uint64(100) + coa, err := NewChangeOwnerAddressFunc(gasCost, nil) + require.Nil(t, coa) + require.Equal(t, ErrNilEnableEpochsHandler, err) +} + func TestNewChangeOwnerAddressFunc(t *testing.T) { t.Parallel() gasCost := uint64(100) - coa := NewChangeOwnerAddressFunc(gasCost) + coa, err := NewChangeOwnerAddressFunc(gasCost, &mock.EnableEpochsHandlerStub{}) + require.Nil(t, err) require.False(t, check.IfNil(coa)) require.Equal(t, gasCost, coa.gasCost) require.True(t, coa.IsActive()) @@ -24,7 +35,7 @@ func TestNewChangeOwnerAddressFunc(t *testing.T) { func TestChangeOwnerAddress_SetNewGasConfig(t *testing.T) { t.Parallel() - coa := NewChangeOwnerAddressFunc(100) + coa, _ := NewChangeOwnerAddressFunc(100, &mock.EnableEpochsHandlerStub{}) newCost := uint64(37) expectedGasConfig := &vmcommon.GasCost{BuiltInCost: vmcommon.BuiltInCost{ChangeOwnerAddress: newCost}} @@ -36,7 +47,9 @@ func TestChangeOwnerAddress_SetNewGasConfig(t *testing.T) { func TestChangeOwnerAddress_ProcessBuiltinFunction(t *testing.T) { t.Parallel() - coa := changeOwnerAddress{} + coa := changeOwnerAddress{ + enableEpochsHandler: &mock.EnableEpochsHandlerStub{}, + } owner := []byte("send") addr := []byte("addr") @@ -80,3 +93,38 @@ func TestChangeOwnerAddress_ProcessBuiltinFunction(t *testing.T) { Topics: [][]byte{newAddr}, }, vmOutput.Logs[0]) } + +func TestProcessBuiltInFunctionCallThroughSC(t *testing.T) { + t.Parallel() + + coa := changeOwnerAddress{ + enableEpochsHandler: &mock.EnableEpochsHandlerStub{ + IsChangeOwnerAddressCrossShardThroughSCEnabledField: true, + }, + } + + owner := []byte("00000000000") + addr := []byte("addraddradd") + rcvAddr := []byte("contract") + + acc := mock.NewUserAccount(addr) + acc.OwnerAddress = owner + vmInput := &vmcommon.ContractCallInput{ + Function: core.BuiltInFunctionChangeOwnerAddress, + RecipientAddr: rcvAddr, + VMInput: vmcommon.VMInput{ + CallerAddr: make([]byte, 11), + CallValue: big.NewInt(0), + Arguments: [][]byte{[]byte("00000000000")}, + }, + } + + vmOutput, err := coa.ProcessBuiltinFunction(acc, nil, vmInput) + require.Nil(t, err) + require.NotNil(t, vmOutput) + require.Equal(t, 1, len(vmOutput.OutputAccounts)) + + outputTransfer := vmOutput.OutputAccounts[string(rcvAddr)].OutputTransfers[0] + require.Equal(t, []byte("ChangeOwnerAddress@3030303030303030303030"), outputTransfer.Data) + require.Equal(t, vm.DirectCall, outputTransfer.CallType) +} diff --git a/builtInFunctions/creator.go b/builtInFunctions/creator.go index 0d19af9..353ace7 100644 --- a/builtInFunctions/creator.go +++ b/builtInFunctions/creator.go @@ -137,7 +137,11 @@ func (b *builtInFuncCreator) CreateBuiltInFunctionContainer() error { return err } - newFunc = NewChangeOwnerAddressFunc(b.gasConfig.BuiltInCost.ChangeOwnerAddress) + newFunc, err = NewChangeOwnerAddressFunc(b.gasConfig.BuiltInCost.ChangeOwnerAddress, b.enableEpochsHandler) + if err != nil { + return err + } + err = b.builtInFunctions.Add(core.BuiltInFunctionChangeOwnerAddress, newFunc) if err != nil { return err diff --git a/coverage.txt b/coverage.txt index ab9377d..234d33d 100644 --- a/coverage.txt +++ b/coverage.txt @@ -130,21 +130,6 @@ github.com/Dharitri-org/drtg-vm-common/returnCodes.go:26.25,27.31 1 0 github.com/Dharitri-org/drtg-vm-common/returnCodes.go:28.23,29.28 1 0 github.com/Dharitri-org/drtg-vm-common/returnCodes.go:30.23,31.28 1 0 github.com/Dharitri-org/drtg-vm-common/returnCodes.go:32.10,33.52 1 0 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:27.74,34.2 1 7 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:38.59,39.41 1 3 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:39.41,41.3 1 1 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:43.2,45.44 2 2 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:50.129,51.44 1 5 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:51.44,53.3 1 1 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:55.2,55.47 1 4 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:55.47,57.3 1 3 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:59.2,59.52 1 4 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:62.91,63.43 1 3 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:63.43,65.3 1 1 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:67.2,69.67 2 2 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:73.70,75.2 1 1 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:78.55,80.2 1 2 -github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:83.52,85.2 1 1 github.com/Dharitri-org/drtg-vm-common/parsers/callArgsParser.go:9.42,11.2 1 4 github.com/Dharitri-org/drtg-vm-common/parsers/callArgsParser.go:15.80,20.16 4 5 github.com/Dharitri-org/drtg-vm-common/parsers/callArgsParser.go:20.16,22.3 1 2 @@ -270,6 +255,21 @@ github.com/Dharitri-org/drtg-vm-common/parsers/tokenize.go:32.2,32.13 1 3 github.com/Dharitri-org/drtg-vm-common/parsers/tokenize.go:35.52,36.24 1 2 github.com/Dharitri-org/drtg-vm-common/parsers/tokenize.go:36.24,38.3 1 1 github.com/Dharitri-org/drtg-vm-common/parsers/tokenize.go:40.2,40.29 1 1 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:27.74,34.2 1 7 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:38.59,39.41 1 3 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:39.41,41.3 1 1 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:43.2,45.44 2 2 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:50.129,51.44 1 5 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:51.44,53.3 1 1 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:55.2,55.47 1 4 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:55.47,57.3 1 3 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:59.2,59.52 1 4 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:62.91,63.43 1 3 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:63.43,65.3 1 1 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:67.2,69.67 2 2 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:73.70,75.2 1 1 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:78.55,80.2 1 2 +github.com/Dharitri-org/drtg-vm-common/dataTrieMigrator/dataTrieMigrator.go:83.52,85.2 1 1 github.com/Dharitri-org/drtg-vm-common/parsers/dataField/dtos.go:17.57,21.2 1 1 github.com/Dharitri-org/drtg-vm-common/parsers/dataField/parseMultiDCTNFTTransfer.go:8.159,10.9 2 5 github.com/Dharitri-org/drtg-vm-common/parsers/dataField/parseMultiDCTNFTTransfer.go:10.9,12.3 1 2 @@ -393,7 +393,7 @@ github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:65.42,68.27 3 102 github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:68.27,70.3 1 303 github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:71.2,73.13 2 102 github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:77.44,80.34 3 103 -github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:80.34,82.3 1 5157 +github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:80.34,82.3 1 5155 github.com/Dharitri-org/drtg-vm-common/container/mutexMap.go:83.2,85.15 2 103 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/baseAccountGuarder.go:32.86,33.34 1 29 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/baseAccountGuarder.go:33.34,35.3 1 3 @@ -432,33 +432,40 @@ github.com/Dharitri-org/drtg-vm-common/builtInFunctions/baseGuardAccount.go:59.1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/baseGuardAccount.go:64.2,65.12 2 6 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/baseGuardAccount.go:68.81,71.2 2 4 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/baseGuardAccount.go:74.73,78.2 3 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:19.68,21.2 1 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:24.73,25.20 1 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:25.20,27.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:29.2,31.25 3 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:38.31,42.20 3 5 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:42.20,44.3 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:45.2,45.33 1 4 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:45.33,47.3 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:48.2,48.38 1 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:48.38,50.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:51.2,51.58 1 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:51.58,53.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:54.2,54.37 1 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:54.37,56.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:57.2,58.26 2 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:58.26,61.3 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:63.2,63.65 1 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:63.65,65.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:67.2,68.16 2 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:68.16,70.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:72.2,81.22 5 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:84.103,85.28 1 29 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:85.28,87.3 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:90.2,90.22 1 28 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:90.22,92.3 1 10 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:94.2,94.31 1 18 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:98.52,100.2 1 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:22.127,23.38 1 4 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:23.38,25.3 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:27.2,30.8 1 3 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:34.73,35.20 1 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:35.20,37.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:39.2,41.25 3 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:48.31,52.20 3 6 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:52.20,54.3 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:55.2,55.33 1 5 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:55.33,57.3 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:58.2,58.38 1 4 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:58.38,60.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:61.2,61.58 1 4 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:61.58,63.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:64.2,64.37 1 4 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:64.37,66.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:67.2,71.26 3 4 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:71.26,74.3 2 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:76.2,76.65 1 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:76.65,78.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:80.2,81.16 2 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:81.16,83.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:85.2,93.22 4 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:96.177,97.77 1 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:97.77,99.3 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:101.2,102.44 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:102.44,104.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:106.2,114.12 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:117.103,118.28 1 30 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:118.28,120.3 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:123.2,123.22 1 29 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:123.22,125.3 1 10 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:127.2,127.31 1 19 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/changeOwnerAddress.go:131.52,133.2 1 2 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/claimDeveloperRewards.go:20.74,22.2 1 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/claimDeveloperRewards.go:25.76,26.20 1 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/claimDeveloperRewards.go:26.20,28.3 1 0 @@ -541,169 +548,171 @@ github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:120.91,122.2 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:125.91,127.2 1 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:130.69,136.16 5 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:136.16,138.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:140.2,142.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:142.16,144.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:146.2,147.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:147.16,149.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:140.2,141.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:141.16,143.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:145.2,146.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:146.16,148.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:150.2,151.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:151.16,153.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:155.2,156.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:156.16,158.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:154.2,155.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:155.16,157.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:159.2,160.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:160.16,162.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:164.2,165.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:165.16,167.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:163.2,164.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:164.16,166.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:168.2,169.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:169.16,171.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:173.2,174.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:174.16,176.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:172.2,173.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:173.16,175.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:177.2,178.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:178.16,180.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:181.2,184.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:184.16,186.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:187.2,188.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:181.2,182.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:182.16,184.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:185.2,188.16 3 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:188.16,190.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:192.2,199.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:199.16,201.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:202.2,203.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:191.2,192.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:192.16,194.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:196.2,203.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:203.16,205.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:207.2,208.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:208.16,210.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:206.2,207.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:207.16,209.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:211.2,212.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:212.16,214.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:216.2,217.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:217.16,219.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:215.2,216.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:216.16,218.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:220.2,221.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:221.16,223.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:225.2,226.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:226.16,228.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:224.2,225.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:225.16,227.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:229.2,230.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:230.16,232.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:234.2,235.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:235.16,237.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:233.2,234.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:234.16,236.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:238.2,239.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:239.16,241.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:243.2,244.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:244.16,246.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:242.2,243.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:243.16,245.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:247.2,248.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:248.16,250.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:252.2,260.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:260.16,262.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:264.2,265.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:265.16,267.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:251.2,252.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:252.16,254.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:256.2,264.16 3 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:264.16,266.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:268.2,269.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:269.16,271.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:273.2,274.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:274.16,276.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:272.2,273.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:273.16,275.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:277.2,278.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:278.16,280.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:282.2,283.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:283.16,285.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:281.2,282.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:282.16,284.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:286.2,287.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:287.16,289.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:291.2,292.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:292.16,294.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:290.2,291.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:291.16,293.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:295.2,296.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:296.16,298.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:300.2,301.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:301.16,303.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:299.2,300.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:300.16,302.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:304.2,305.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:305.16,307.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:309.2,310.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:310.16,312.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:308.2,309.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:309.16,311.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:313.2,314.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:314.16,316.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:318.2,327.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:327.16,329.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:330.2,331.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:317.2,318.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:318.16,320.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:322.2,331.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:331.16,333.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:335.2,336.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:336.16,338.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:334.2,335.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:335.16,337.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:339.2,340.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:340.16,342.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:344.2,345.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:345.16,347.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:343.2,344.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:344.16,346.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:348.2,349.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:349.16,351.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:353.2,354.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:354.16,356.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:352.2,353.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:353.16,355.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:357.2,358.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:358.16,360.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:362.2,371.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:371.16,373.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:374.2,375.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:361.2,362.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:362.16,364.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:366.2,375.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:375.16,377.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:379.2,380.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:380.16,382.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:378.2,379.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:379.16,381.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:383.2,384.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:384.16,386.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:388.2,389.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:389.16,391.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:387.2,388.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:388.16,390.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:392.2,393.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:393.16,395.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:397.2,406.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:406.16,408.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:409.2,410.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:396.2,397.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:397.16,399.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:401.2,410.16 3 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:410.16,412.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:414.2,416.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:416.16,418.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:419.2,420.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:413.2,414.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:414.16,416.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:418.2,420.16 3 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:420.16,422.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:424.2,425.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:425.16,427.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:423.2,424.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:424.16,426.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:428.2,429.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:429.16,431.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:433.2,434.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:434.16,436.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:432.2,433.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:433.16,435.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:437.2,438.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:438.16,440.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:442.2,443.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:443.16,445.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:441.2,442.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:442.16,444.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:446.2,447.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:447.16,449.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:451.2,452.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:452.16,454.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:450.2,451.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:451.16,453.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:455.2,456.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:456.16,458.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:460.2,464.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:464.16,466.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:467.2,468.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:459.2,460.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:460.16,462.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:464.2,468.16 3 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:468.16,470.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:472.2,474.16 3 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:474.16,476.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:477.2,478.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:471.2,472.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:472.16,474.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:476.2,478.16 3 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:478.16,480.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:482.2,483.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:483.16,485.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:481.2,482.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:482.16,484.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:486.2,487.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:487.16,489.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:491.2,492.16 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:492.16,494.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:490.2,491.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:491.16,493.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:495.2,496.16 2 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:496.16,498.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:500.2,500.12 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:503.102,510.2 1 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:512.72,516.2 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:518.86,521.16 3 7 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:521.16,523.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:525.2,526.16 2 7 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:526.16,528.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:530.2,532.16 3 7 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:532.16,534.3 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:536.2,537.16 2 7 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:537.16,539.3 1 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:541.2,546.22 2 5 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:550.94,555.16 2 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:555.16,557.3 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:559.2,564.50 2 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:564.50,566.17 2 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:566.17,568.4 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:570.3,571.10 2 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:571.10,573.4 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:575.3,576.17 2 3 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:576.17,578.4 1 0 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:581.2,581.12 1 1 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:585.52,587.2 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:499.2,500.16 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:500.16,502.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:504.2,504.12 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:507.102,514.2 1 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:516.72,520.2 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:522.86,525.16 3 7 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:525.16,527.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:529.2,530.16 2 7 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:530.16,532.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:534.2,536.16 3 7 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:536.16,538.3 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:540.2,541.16 2 7 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:541.16,543.3 1 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:545.2,550.22 2 5 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:554.94,559.16 2 2 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:559.16,561.3 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:563.2,568.50 2 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:568.50,570.17 2 3 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:570.17,572.4 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:574.3,575.10 2 3 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:575.10,577.4 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:579.3,580.17 2 3 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:580.17,582.4 1 0 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:585.2,585.12 1 1 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/creator.go:589.52,591.2 1 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctBurn.go:28.21,29.29 1 6 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctBurn.go:29.29,31.3 1 1 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctBurn.go:32.2,32.40 1 5 @@ -1689,9 +1698,9 @@ github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:184.3,193 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:197.2,197.57 1 2 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:197.57,207.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:209.2,218.22 2 2 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:230.3,232.32 2 4 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:232.32,234.3 1 4 -github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:235.2,249.27 4 4 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:230.3,232.32 2 5 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:232.32,234.3 1 5 +github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:235.2,249.27 4 5 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:259.9,261.16 2 39 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:261.16,263.3 1 0 github.com/Dharitri-org/drtg-vm-common/builtInFunctions/dctTransfer.go:265.2,265.43 1 39 diff --git a/go.mod b/go.mod index 8567e4e..ed9c330 100644 --- a/go.mod +++ b/go.mod @@ -22,3 +22,5 @@ require ( google.golang.org/protobuf v1.33.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) + +replace github.com/gogo/protobuf => github.com/Dharitri-org/protobuf v1.3.2 diff --git a/go.sum b/go.sum index da79f1e..7f188bc 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/Dharitri-org/drtg-core v0.1.0 h1:Wn311G1rRpGP3ecFwT9wfOPFZnQMhFwB2Fk+ github.com/Dharitri-org/drtg-core v0.1.0/go.mod h1:9Db4lPAEqY6cn2bzLF9cynojYNhaOrVKgeAY3GA0pdU= github.com/Dharitri-org/drtg-logger v0.0.6 h1:WwjhSjDDnKd1eZZiQyDjqhfpu/zTJbJ9I+jNHbyPvEY= github.com/Dharitri-org/drtg-logger v0.0.6/go.mod h1:6FQNxKifjwYlnSjjC0t140ZArOdGCbP9iVpbabHBE94= +github.com/Dharitri-org/protobuf v1.3.2 h1:G3mbGffEoUVcSnMRYeC1kyZI3+VUvEB4fOcLKYe98/o= +github.com/Dharitri-org/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= @@ -35,8 +37,6 @@ github.com/denisbrodbeck/machineid v1.0.1 h1:geKr9qtkB876mXguW2X6TU4ZynleN6ezuMS github.com/denisbrodbeck/machineid v1.0.1/go.mod h1:dJUwb7PTidGDeYyUBmXZ2GphQBbjJCrnectwCyxcUSI= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= diff --git a/interface.go b/interface.go index c7d84ea..2c3d1a5 100644 --- a/interface.go +++ b/interface.go @@ -390,6 +390,7 @@ type EnableEpochsHandler interface { IsScToScEventLogEnabled() bool IsConsistentTokensValuesLengthCheckEnabled() bool IsAutoBalanceDataTriesEnabled() bool + IsChangeOwnerAddressCrossShardThroughSCEnabled() bool MultiDCTTransferAsyncCallBackEnableEpoch() uint32 FixOOGReturnCodeEnableEpoch() uint32 diff --git a/mock/enableEpochsHandlerStub.go b/mock/enableEpochsHandlerStub.go index 1fb3c41..5466199 100644 --- a/mock/enableEpochsHandlerStub.go +++ b/mock/enableEpochsHandlerStub.go @@ -40,6 +40,7 @@ type EnableEpochsHandlerStub struct { IsScToScEventLogEnabledField bool IsConsistentTokensValuesLengthCheckEnabledField bool IsAutoBalanceDataTriesEnabledField bool + IsChangeOwnerAddressCrossShardThroughSCEnabledField bool MultiDCTTransferAsyncCallBackEnableEpochField uint32 FixOOGReturnCodeEnableEpochField uint32 RemoveNonUpdatedStorageEnableEpochField uint32 @@ -294,6 +295,10 @@ func (stub *EnableEpochsHandlerStub) IsAutoBalanceDataTriesEnabled() bool { return stub.IsAutoBalanceDataTriesEnabledField } +func (stub *EnableEpochsHandlerStub) IsChangeOwnerAddressCrossShardThroughSCEnabled() bool { + return stub.IsChangeOwnerAddressCrossShardThroughSCEnabledField +} + // IsInterfaceNil - func (stub *EnableEpochsHandlerStub) IsInterfaceNil() bool { return stub == nil