git.delta.rocks / unique-network / refs/commits / 9f4fc065e116

difftreelog

Merge pull request #871 from UniqueNetwork/feature/move_TokenChanged_event

Yaroslav Bolyukin2023-02-13parents: #3563d09 #40d2262.patch.diff
in: master

21 files changed

modifiedCargo.lockdiffbeforeafterboth
24452445
2446[[package]]2446[[package]]
2447name = "evm-coder"2447name = "evm-coder"
2448version = "0.3.0"2448version = "0.3.1"
2449source = "git+https://github.com/uniquenetwork/evm-coder?tag=v0.3.0#c4bfdf39d84fbe74c6178417177f2a7f81d92bdd"2449source = "git+https://github.com/uniquenetwork/evm-coder?tag=v0.3.1#21e61c627f71337d6b8a03899fe8de14bfbf67aa"
2450dependencies = [2450dependencies = [
2451 "ethereum",2451 "ethereum",
2452 "evm-coder-procedural",2452 "evm-coder-procedural",
24572457
2458[[package]]2458[[package]]
2459name = "evm-coder-procedural"2459name = "evm-coder-procedural"
2460version = "0.3.0"2460version = "0.3.1"
2461source = "git+https://github.com/uniquenetwork/evm-coder?tag=v0.3.0#c4bfdf39d84fbe74c6178417177f2a7f81d92bdd"2461source = "git+https://github.com/uniquenetwork/evm-coder?tag=v0.3.1#21e61c627f71337d6b8a03899fe8de14bfbf67aa"
2462dependencies = [2462dependencies = [
2463 "Inflector",2463 "Inflector",
2464 "hex",2464 "hex",
modifiedCargo.tomldiffbeforeafterboth
1919
20[workspace.dependencies]20[workspace.dependencies]
21# Unique21# Unique
22evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.0", default-features = false }
23struct-versioning = { path = "crates/struct-versioning" }
24precompile-utils-macro = { path = "runtime/common/ethereum/precompiles/utils/macro" }
25up-common = { path = "primitives/common", default-features = false }22app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }
26up-data-structs = { path = "primitives/data-structs", default-features = false }23evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.1", default-features = false }
27up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }24pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }
28up-rpc = { path = "primitives/rpc", default-features = false }
29up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.37" }
30uc-rpc = { path = "client/rpc" }
31unique-rpc = { path = "node/rpc" }
32pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.37" }25pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.37" }
33pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }26pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }
34pallet-common = { default-features = false, path = "pallets/common" }27pallet-common = { default-features = false, path = "pallets/common" }
45pallet-nonfungible = { default-features = false, path = "pallets/nonfungible" }38pallet-nonfungible = { default-features = false, path = "pallets/nonfungible" }
46pallet-refungible = { default-features = false, path = "pallets/refungible" }39pallet-refungible = { default-features = false, path = "pallets/refungible" }
47pallet-structure = { default-features = false, path = "pallets/structure" }40pallet-structure = { default-features = false, path = "pallets/structure" }
41pallet-test-utils = { default-features = false, path = "test-pallets/utils" }
48pallet-unique = { path = "pallets/unique", default-features = false }42pallet-unique = { path = "pallets/unique", default-features = false }
49pallet-unique-scheduler-v2 = { path = "pallets/scheduler-v2", default-features = false }43pallet-unique-scheduler-v2 = { path = "pallets/scheduler-v2", default-features = false }
50pallet-test-utils = { default-features = false, path = "test-pallets/utils" }44precompile-utils-macro = { path = "runtime/common/ethereum/precompiles/utils/macro" }
45struct-versioning = { path = "crates/struct-versioning" }
46uc-rpc = { path = "client/rpc" }
47unique-rpc = { path = "node/rpc" }
48up-common = { path = "primitives/common", default-features = false }
49up-data-structs = { path = "primitives/data-structs", default-features = false }
51pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }50up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }
52app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }51up-rpc = { path = "primitives/rpc", default-features = false }
52up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.37" }
5353
54# Unique: Runtimes54# Unique: Runtimes
55unique-runtime = { path = "runtime/unique" }55opal-runtime = { path = "runtime/opal" }
56quartz-runtime = { path = "runtime/quartz" }56quartz-runtime = { path = "runtime/quartz" }
57opal-runtime = { path = "runtime/opal" }57unique-runtime = { path = "runtime/unique" }
5858
59# Frontier (Unique patches over the Parity version)59# Frontier (Unique patches over the Parity version)
60fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
61fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
62fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
63fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
64fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
60fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }65fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
61fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }66fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
62fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }67fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
63fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }68fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
64fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
65fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
66fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
67fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }69fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
68fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }70pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
69fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
70pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }71pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
71pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }72pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
72pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
73pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }73pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
7474
75# Parity75# Parity
76codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.2.2" }76codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.2.2" }
77scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
78polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
79polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
80polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
81cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }77cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
82cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }78cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
83cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }79cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
84cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }80cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
85cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }81cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
86cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
87cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
88cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
89cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
90cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }82cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
91cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }83cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
92cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }84cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
93cumulus-pallet-xcm = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }85cumulus-pallet-xcm = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
94cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }86cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
95cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }87cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
88cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
96cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }89cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
97cumulus-primitives-utility = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }90cumulus-primitives-utility = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
91cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
92cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
93cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
98frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }94frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
99frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }95frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
100frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }96frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
107pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }103pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
108pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }104pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
109pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }105pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
106pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
110pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }107pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
111pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }108pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
112pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }109pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
113pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
114parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }110parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
111polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
115polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }112polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
113polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
114polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
115sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
116sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
117sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
118sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
119sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
120sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
121sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
122sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
123sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
124sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
125sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
126sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
127sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
128sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
129sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
130sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
131scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
116sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }132sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
117sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }133sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
118sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }134sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
135sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
119sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }136sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
120sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }137sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
138sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
121sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }139sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
122sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }140sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
141sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
123sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }142sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
124sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }143sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
125sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }144sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
126sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
127sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
128sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
129sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }145sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
130sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
131sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
132sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
133sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
134sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
135sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }146sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
147sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
148sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
149sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
150sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
136sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }151sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
137substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }152sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
138sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
139sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
140sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
141sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
142sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
143sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
144sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
145sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
146sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
147sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
148sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
149sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
150sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
151sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
152sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
153sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
154substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }153substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
154substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
155xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }155xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
156xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }156xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
157xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }157xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
158158
159# Parity: Build utils159# Parity: Build utils
160substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
161substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }160substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
161substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
162162
163# Parity: Benchmarking163# Parity: Benchmarking
164frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
164frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }165frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
165frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }166frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
166frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
167167
168# Parity: Try Runtime168# Parity: Try Runtime
169try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
170frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }169frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
170try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
171171
172# ORML172# ORML
173orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }173orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }
176orml-xtokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }176orml-xtokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }
177177
178# Other178# Other
179smallvec = "1.6.1"
180derivative = { version = "2.2.0", features = ["use_core"] }179derivative = { version = "2.2.0", features = ["use_core"] }
181serde = { default-features = false, features = ['derive'], version = "1.0.136" }
182log = { version = "0.4.16", default-features = false }180ethereum = { version = "0.14.0", default-features = false }
183num_enum = { version = "0.5.3", default-features = false }181evm-core = { default-features = false, version = "0.37.0" }
184hex-literal = "0.3.4"182hex-literal = "0.3.4"
185impl-trait-for-tuples = "0.2.2"183impl-trait-for-tuples = "0.2.2"
186logtest = "2.0.0"184jsonrpsee = { version = "0.16.2", features = ["macros", "server"] }
187ethereum = { version = "0.14.0", default-features = false }185log = { version = "0.4.16", default-features = false }
186logtest = "2.0.0"
188evm-core = { default-features = false, version = "0.37.0" }187num_enum = { version = "0.5.3", default-features = false }
189primitive-types = { version = "0.12.1", default-features = false }188primitive-types = { version = "0.12.1", default-features = false }
190jsonrpsee = { version = "0.16.2", features = ["macros", "server"] }189serde = { default-features = false, features = ['derive'], version = "1.0.136" }
190smallvec = "1.6.1"
191191
modifiedpallets/common/src/erc.rsdiffbeforeafterboth
26};26};
27use pallet_evm_coder_substrate::dispatch_to_evm;27use pallet_evm_coder_substrate::dispatch_to_evm;
28use sp_std::{vec, vec::Vec};28use sp_std::{vec, vec::Vec};
29use sp_core::U256;
30use up_data_structs::{29use up_data_structs::{
31 CollectionMode, CollectionPermissions, OwnerRestrictedSet, Property, SponsoringRateLimit,30 CollectionMode, CollectionPermissions, OwnerRestrictedSet, Property, SponsoringRateLimit,
32 SponsorshipState,31 SponsorshipState,
67 collection_id: Address,66 collection_id: Address,
68 },67 },
69
70 /// The token has been changed.
71 TokenChanged {
72 /// Collection ID.
73 #[indexed]
74 collection_id: Address,
75 /// Token ID.
76 token_id: U256,
77 },
78}68}
7969
80/// Does not always represent a full collection, for RFT it is either70/// Does not always represent a full collection, for RFT it is either
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
86use sp_core::H160;86use sp_core::H160;
87use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};87use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
8888
89use crate::erc::CollectionHelpersEvents;
90#[cfg(feature = "runtime-benchmarks")]89#[cfg(feature = "runtime-benchmarks")]
91pub mod benchmarking;90pub mod benchmarking;
92pub mod dispatch;91pub mod dispatch;
1250 mut stored_properties: Properties,1249 mut stored_properties: Properties,
1251 is_token_owner: impl Fn() -> Result<bool, DispatchError>,1250 is_token_owner: impl Fn() -> Result<bool, DispatchError>,
1252 set_token_properties: impl FnOnce(Properties),1251 set_token_properties: impl FnOnce(Properties),
1252 log: evm_coder::ethereum::Log,
1253 ) -> DispatchResult {1253 ) -> DispatchResult {
1254 let is_collection_admin = collection.is_owner_or_admin(sender);1254 let is_collection_admin = collection.is_owner_or_admin(sender);
1255 let permissions = Self::property_permissions(collection.id);1255 let permissions = Self::property_permissions(collection.id);
1304 }1304 }
1305 }1305 }
13061306
1307 <PalletEvm<T>>::deposit_log(1307 <PalletEvm<T>>::deposit_log(log.clone());
1308 CollectionHelpersEvents::TokenChanged {
1309 collection_id: eth::collection_id_to_address(collection.id),
1310 token_id: token_id.into(),
1311 }
1312 .to_log(T::ContractAddress::get()),
1313 );
1314 }1308 }
13151309
modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
50 TokenProperties, SelfWeightOf, weights::WeightInfo,50 TokenProperties, SelfWeightOf, weights::WeightInfo,
51};51};
52
53/// Nft events.
54#[derive(ToLog)]
55pub enum ERC721TokenEvent {
56 /// The token has been changed.
57 TokenChanged {
58 /// Token ID.
59 #[indexed]
60 token_id: U256,
61 },
62}
5263
53frontier_contract! {64frontier_contract! {
54 macro_rules! NonfungibleHandle_result {...}65 macro_rules! NonfungibleHandle_result {...}
55 impl<T: Config> Contract for NonfungibleHandle<T> {...}66 impl<T: Config> Contract for NonfungibleHandle<T> {...}
56}67}
5768
58/// @title A contract that allows to set and delete token properties and change token property permissions.69/// @title A contract that allows to set and delete token properties and change token property permissions.
59#[solidity_interface(name = TokenProperties, enum(derive(PreDispatch)), enum_attr(weight))]70#[solidity_interface(name = TokenProperties, events(ERC721TokenEvent), enum(derive(PreDispatch)), enum_attr(weight))]
60impl<T: Config> NonfungibleHandle<T> {71impl<T: Config> NonfungibleHandle<T> {
61 /// @notice Set permissions for token property.72 /// @notice Set permissions for token property.
62 /// @dev Throws error if `msg.sender` is not admin or owner of the collection.73 /// @dev Throws error if `msg.sender` is not admin or owner of the collection.
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
112};112};
113use pallet_structure::{Pallet as PalletStructure, Error as StructureError};113use pallet_structure::{Pallet as PalletStructure, Error as StructureError};
114use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};114use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
115use sp_core::H160;115use sp_core::{Get, H160};
116use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};116use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};
117use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};117use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
118use core::ops::Deref;118use core::ops::Deref;
622 stored_properties,622 stored_properties,
623 is_token_owner,623 is_token_owner,
624 |properties| <TokenProperties<T>>::set((collection.id, token_id), properties),624 |properties| <TokenProperties<T>>::set((collection.id, token_id), properties),
625 erc::ERC721TokenEvent::TokenChanged {
626 token_id: token_id.into(),
627 }
628 .to_log(T::ContractAddress::get()),
625 )629 )
626 }630 }
627631
modifiedpallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
17 }17 }
18}18}
19
20/// @dev inlined interface
21contract ERC721TokenEvent {
22 event TokenChanged(uint256 indexed tokenId);
23}
1924
20/// @title A contract that allows to set and delete token properties and change token property permissions.25/// @title A contract that allows to set and delete token properties and change token property permissions.
21/// @dev the ERC-165 identifier for this interface is 0xde0695c226/// @dev the ERC-165 identifier for this interface is 0xde0695c2
22contract TokenProperties is Dummy, ERC165 {27contract TokenProperties is Dummy, ERC165, ERC721TokenEvent {
23 // /// @notice Set permissions for token property.28 // /// @notice Set permissions for token property.
24 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.29 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.
25 // /// @param key Property key.30 // /// @param key Property key.
modifiedpallets/refungible/src/erc.rsdiffbeforeafterboth
5959
60pub const ADDRESS_FOR_PARTIALLY_OWNED_TOKENS: H160 = H160::repeat_byte(0xff);60pub const ADDRESS_FOR_PARTIALLY_OWNED_TOKENS: H160 = H160::repeat_byte(0xff);
61
62/// Rft events.
63#[derive(ToLog)]
64pub enum ERC721TokenEvent {
65 /// The token has been changed.
66 TokenChanged {
67 /// Token ID.
68 #[indexed]
69 token_id: U256,
70 },
71}
6172
62/// @title A contract that allows to set and delete token properties and change token property permissions.73/// @title A contract that allows to set and delete token properties and change token property permissions.
63#[solidity_interface(name = TokenProperties, enum(derive(PreDispatch)), enum_attr(weight))]74#[solidity_interface(name = TokenProperties, events(ERC721TokenEvent), enum(derive(PreDispatch)), enum_attr(weight))]
64impl<T: Config> RefungibleHandle<T> {75impl<T: Config> RefungibleHandle<T> {
65 /// @notice Set permissions for token property.76 /// @notice Set permissions for token property.
66 /// @dev Throws error if `msg.sender` is not admin or owner of the collection.77 /// @dev Throws error if `msg.sender` is not admin or owner of the collection.
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
100 Event as CommonEvent, Pallet as PalletCommon,100 Event as CommonEvent, Pallet as PalletCommon,
101};101};
102use pallet_structure::Pallet as PalletStructure;102use pallet_structure::Pallet as PalletStructure;
103use sp_core::H160;103use sp_core::{Get, H160};
104use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};104use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};
105use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};105use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
106use up_data_structs::{106use up_data_structs::{
571 stored_properties,571 stored_properties,
572 is_token_owner,572 is_token_owner,
573 |properties| <TokenProperties<T>>::set((collection.id, token_id), properties),573 |properties| <TokenProperties<T>>::set((collection.id, token_id), properties),
574 erc::ERC721TokenEvent::TokenChanged {
575 token_id: token_id.into(),
576 }
577 .to_log(T::ContractAddress::get()),
574 )578 )
575 }579 }
576580
modifiedpallets/refungible/src/stubs/UniqueRefungible.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth
17 }17 }
18}18}
19
20/// @dev inlined interface
21contract ERC721TokenEvent {
22 event TokenChanged(uint256 indexed tokenId);
23}
1924
20/// @title A contract that allows to set and delete token properties and change token property permissions.25/// @title A contract that allows to set and delete token properties and change token property permissions.
21/// @dev the ERC-165 identifier for this interface is 0xde0695c226/// @dev the ERC-165 identifier for this interface is 0xde0695c2
22contract TokenProperties is Dummy, ERC165 {27contract TokenProperties is Dummy, ERC165, ERC721TokenEvent {
23 // /// @notice Set permissions for token property.28 // /// @notice Set permissions for token property.
24 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.29 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.
25 // /// @param key Property key.30 // /// @param key Property key.
modifiedpallets/unique/src/eth/stubs/CollectionHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/unique/src/eth/stubs/CollectionHelpers.soldiffbeforeafterboth
22 event CollectionCreated(address indexed owner, address indexed collectionId);22 event CollectionCreated(address indexed owner, address indexed collectionId);
23 event CollectionDestroyed(address indexed collectionId);23 event CollectionDestroyed(address indexed collectionId);
24 event CollectionChanged(address indexed collectionId);24 event CollectionChanged(address indexed collectionId);
25 event TokenChanged(address indexed collectionId, uint256 tokenId);
26}25}
2726
28/// @title Contract, which allows users to operate with collections27/// @title Contract, which allows users to operate with collections
modifiedtests/src/eth/abi/collectionHelpers.jsondiffbeforeafterboth
44 "name": "CollectionDestroyed",44 "name": "CollectionDestroyed",
45 "type": "event"45 "type": "event"
46 },46 },
47 {
48 "anonymous": false,
49 "inputs": [
50 {
51 "indexed": true,
52 "internalType": "address",
53 "name": "collectionId",
54 "type": "address"
55 },
56 {
57 "indexed": false,
58 "internalType": "uint256",
59 "name": "tokenId",
60 "type": "uint256"
61 }
62 ],
63 "name": "TokenChanged",
64 "type": "event"
65 },
66 {47 {
67 "inputs": [48 "inputs": [
68 { "internalType": "uint32", "name": "collectionId", "type": "uint32" }49 { "internalType": "uint32", "name": "collectionId", "type": "uint32" }
modifiedtests/src/eth/abi/nonFungible.jsondiffbeforeafterboth
49 "name": "ApprovalForAll",49 "name": "ApprovalForAll",
50 "type": "event"50 "type": "event"
51 },51 },
52 {
53 "anonymous": false,
54 "inputs": [
55 {
56 "indexed": true,
57 "internalType": "uint256",
58 "name": "tokenId",
59 "type": "uint256"
60 }
61 ],
62 "name": "TokenChanged",
63 "type": "event"
64 },
52 {65 {
53 "anonymous": false,66 "anonymous": false,
54 "inputs": [67 "inputs": [
modifiedtests/src/eth/abi/reFungible.jsondiffbeforeafterboth
49 "name": "ApprovalForAll",49 "name": "ApprovalForAll",
50 "type": "event"50 "type": "event"
51 },51 },
52 {
53 "anonymous": false,
54 "inputs": [
55 {
56 "indexed": true,
57 "internalType": "uint256",
58 "name": "tokenId",
59 "type": "uint256"
60 }
61 ],
62 "name": "TokenChanged",
63 "type": "event"
64 },
52 {65 {
53 "anonymous": false,66 "anonymous": false,
54 "inputs": [67 "inputs": [
modifiedtests/src/eth/api/CollectionHelpers.soldiffbeforeafterboth
17 event CollectionCreated(address indexed owner, address indexed collectionId);17 event CollectionCreated(address indexed owner, address indexed collectionId);
18 event CollectionDestroyed(address indexed collectionId);18 event CollectionDestroyed(address indexed collectionId);
19 event CollectionChanged(address indexed collectionId);19 event CollectionChanged(address indexed collectionId);
20 event TokenChanged(address indexed collectionId, uint256 tokenId);
21}20}
2221
23/// @title Contract, which allows users to operate with collections22/// @title Contract, which allows users to operate with collections
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
12 function supportsInterface(bytes4 interfaceID) external view returns (bool);12 function supportsInterface(bytes4 interfaceID) external view returns (bool);
13}13}
14
15/// @dev inlined interface
16interface ERC721TokenEvent {
17 event TokenChanged(uint256 indexed tokenId);
18}
1419
15/// @title A contract that allows to set and delete token properties and change token property permissions.20/// @title A contract that allows to set and delete token properties and change token property permissions.
16/// @dev the ERC-165 identifier for this interface is 0xde0695c221/// @dev the ERC-165 identifier for this interface is 0xde0695c2
17interface TokenProperties is Dummy, ERC165 {22interface TokenProperties is Dummy, ERC165, ERC721TokenEvent {
18 // /// @notice Set permissions for token property.23 // /// @notice Set permissions for token property.
19 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.24 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.
20 // /// @param key Property key.25 // /// @param key Property key.
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
12 function supportsInterface(bytes4 interfaceID) external view returns (bool);12 function supportsInterface(bytes4 interfaceID) external view returns (bool);
13}13}
14
15/// @dev inlined interface
16interface ERC721TokenEvent {
17 event TokenChanged(uint256 indexed tokenId);
18}
1419
15/// @title A contract that allows to set and delete token properties and change token property permissions.20/// @title A contract that allows to set and delete token properties and change token property permissions.
16/// @dev the ERC-165 identifier for this interface is 0xde0695c221/// @dev the ERC-165 identifier for this interface is 0xde0695c2
17interface TokenProperties is Dummy, ERC165 {22interface TokenProperties is Dummy, ERC165, ERC721TokenEvent {
18 // /// @notice Set permissions for token property.23 // /// @notice Set permissions for token property.
19 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.24 // /// @dev Throws error if `msg.sender` is not admin or owner of the collection.
20 // /// @param key Property key.25 // /// @param key Property key.
modifiedtests/src/eth/events.test.tsdiffbeforeafterboth
29 });29 });
30});30});
3131
32function clearEvents(ethEvents: NormalizedEvent[], subEvents: IEvent[]) {32function clearEvents(ethEvents: NormalizedEvent[] | null, subEvents: IEvent[]) {
33 if (ethEvents !== null) {
33 ethEvents.splice(0);34 ethEvents.splice(0);
35 }
34 subEvents.splice(0);36 subEvents.splice(0);
35}37}
3638
374 const owner = await helper.eth.createAccountWithBalance(donor);376 const owner = await helper.eth.createAccountWithBalance(donor);
375 const {collectionAddress} = await helper.eth.createCollection(mode, owner, 'A', 'B', 'C');377 const {collectionAddress} = await helper.eth.createCollection(mode, owner, 'A', 'B', 'C');
376 const collection = await helper.ethNativeContract.collection(collectionAddress, mode, owner);378 const collection = await helper.ethNativeContract.collection(collectionAddress, mode, owner);
377 const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner);
378 const result = await collection.methods.mint(owner).send({from: owner});379 const result = await collection.methods.mint(owner).send({from: owner});
379 const tokenId = result.events.Transfer.returnValues.tokenId;380 const tokenId = result.events.Transfer.returnValues.tokenId;
380 await collection.methods.setTokenPropertyPermissions([381 await collection.methods.setTokenPropertyPermissions([
386 ]).send({from: owner});387 ]).send({from: owner});
387388
388
389 const ethEvents: any = [];
390 collectionHelper.events.allEvents((_: any, event: any) => {
391 ethEvents.push(event);
392 });
393 const {unsubscribe, collectedEvents: subEvents} = await helper.subscribeEvents([{section: 'common', names: ['TokenPropertySet', 'TokenPropertyDeleted']}]);389 const {unsubscribe, collectedEvents: subEvents} = await helper.subscribeEvents([{section: 'common', names: ['TokenPropertySet', 'TokenPropertyDeleted']}]);
394 {390 {
395 await collection.methods.setProperties(tokenId, [{key: 'A', value: [1,2,3]}]).send({from: owner});391 const result = await collection.methods.setProperties(tokenId, [{key: 'A', value: [1,2,3]}]).send({from: owner});
396 await helper.wait.newBlocks(1);392 await helper.wait.newBlocks(1);
397 expect(ethEvents).to.containSubset([393 expect(result.events.TokenChanged).to.be.like({
398 {
399 event: 'TokenChanged',394 event: 'TokenChanged',
400 returnValues: {395 returnValues: {
401 collectionId: collectionAddress,396 tokenId: tokenId,
402 },397 },
403 },398 });
404 ]);
405 expect(subEvents).to.containSubset([{method: 'TokenPropertySet'}]);399 expect(subEvents).to.containSubset([{method: 'TokenPropertySet'}]);
406 clearEvents(ethEvents, subEvents);400 clearEvents(null, subEvents);
407 }401 }
408 {402 {
409 await collection.methods.deleteProperties(tokenId, ['A']).send({from: owner});403 const result = await collection.methods.deleteProperties(tokenId, ['A']).send({from: owner});
410 await helper.wait.newBlocks(1);404 await helper.wait.newBlocks(1);
411 expect(ethEvents).to.containSubset([405 expect(result.events.TokenChanged).to.be.like({
412 {
413 event: 'TokenChanged',406 event: 'TokenChanged',
414 returnValues: {407 returnValues: {
415 collectionId: collectionAddress,408 tokenId: tokenId,
416 },409 },
417 },410 });
418 ]);
419 expect(subEvents).to.containSubset([{method: 'TokenPropertyDeleted'}]);411 expect(subEvents).to.containSubset([{method: 'TokenPropertyDeleted'}]);
420 }412 }
421 unsubscribe();413 unsubscribe();