Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(its)!: changed from trusted addresses to trusted chains #235

Merged
merged 34 commits into from
Jan 28, 2025
Merged
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
63beb53
changed from trusted addresses to trusted chains
Foivos Jan 20, 2025
7ac8025
fixed some tests
Foivos Jan 20, 2025
46e65b2
rename some stuff
Foivos Jan 20, 2025
1bf88f1
fix some tests
Foivos Jan 20, 2025
eb43639
fix tests
Foivos Jan 20, 2025
663bbef
fix move tests
Foivos Jan 21, 2025
fcb0cc2
add a creator cap and setup to its
Foivos Jan 21, 2025
9f3c157
add chain name to token_id derivation
Foivos Jan 21, 2025
f335d89
prettier and fix interfaces
Foivos Jan 22, 2025
2a4cab6
Merge remote-tracking branch 'origin/main' into feat/remove-address-t…
Foivos Jan 23, 2025
d1e8ddd
address a few comments
Foivos Jan 23, 2025
27150a8
rename chain_tracker to trusted_chains
Foivos Jan 23, 2025
a3aa2a7
some more comments addressed
Foivos Jan 23, 2025
b8d1e51
Update move/squid/sources/squid/squid.move
Foivos Jan 23, 2025
5c5f184
address some more comments
Foivos Jan 23, 2025
1e47517
addressed a comments
Foivos Jan 23, 2025
e5d2b81
Merge remote-tracking branch 'origin/main' into feat/token-id-chain-d…
Foivos Jan 23, 2025
577f190
Merge branch 'feat/token-id-chain-derivation' into feat/remove-addres…
Foivos Jan 23, 2025
1b76acc
fix tests
Foivos Jan 23, 2025
f65bd68
add its_hub_address as a variable
Foivos Jan 23, 2025
e9f0c72
changed how wrap payload works
Foivos Jan 23, 2025
73ff042
changed pattern for wrapping payload a bit.
Foivos Jan 23, 2025
c5b8d37
Update move/interchain_token_service/sources/types/trusted_chains.move
Foivos Jan 27, 2025
82d091c
Update move/interchain_token_service/sources/types/trusted_chains.move
Foivos Jan 27, 2025
98e1163
Update move/interchain_token_service/sources/types/trusted_chains.move
Foivos Jan 27, 2025
9b987a4
rename `prepare_wrapped_message` to `prepare_hub_message`
Foivos Jan 27, 2025
bff94bd
cs
Foivos Jan 27, 2025
2db608a
added explicit check that chain is contained when trying to remove it.
Foivos Jan 27, 2025
9716566
Merge remote-tracking branch 'origin/main' into feat/remove-address-t…
Foivos Jan 27, 2025
7c2cadb
fix tests
Foivos Jan 27, 2025
6c406fd
Merge remote-tracking branch 'origin/main' into feat/remove-address-t…
Foivos Jan 27, 2025
02915b7
update bcs
Foivos Jan 27, 2025
d780bc9
update bcs test for InterchainTokenServiceV0
Foivos Jan 27, 2025
4172de7
made lint happy
Foivos Jan 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
update bcs test for InterchainTokenServiceV0
  • Loading branch information
Foivos committed Jan 27, 2025
commit d780bc909f0d6c8a754c7b2400bc4a4048b57496
37 changes: 24 additions & 13 deletions test/bcs.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// The following hex data is derived from the bcs bytes from the client.getObject() call.
const hexData = {
InterchainTokenService_v0:
'7d262a840033c9b6bc7a31d8ddf12bff891c6db6253dd5b8cf331bccd531a81e00000000000000006ccb9729af3569630b9171a0c1fd3eae9797d8122794be5d8cd01061b1dfcb86270c7f8b9757b05777d3cbf98fa1bb197e1f5a18c8ff7a8ef16e80bedf39a67f000000000000000000c101dbc800d8cf853e6d21c916aba7c92e4c2692527dc951c777dae15cf474000000000000000044bacbed87a2d5f871ce96f3245a293b936fb287605330b3859649f3a2697668000000000000000013bd4dc87b61a82ce5959e3ea8c3fed1e03d9c1f7246eef82722354d8e3c0d540000000000000000e5855b758d21f521071672cbce153167d49b4d15f11f5ca47528117312c2c1fa00000000000000000000000000000000000000000000000000000000000000000000000000000000010c0d72656769737465725f636f696e1e6465706c6f795f72656d6f74655f696e746572636861696e5f746f6b656e1873656e645f696e746572636861696e5f7472616e736665721b726563656976655f696e746572636861696e5f7472616e7366657225726563656976655f696e746572636861696e5f7472616e736665725f776974685f646174611f726563656976655f6465706c6f795f696e746572636861696e5f746f6b656e16676976655f756e726567697374657265645f636f696e136d696e745f61735f6469737472696275746f72166d696e745f746f5f61735f6469737472696275746f72136275726e5f61735f6469737472696275746f72157365745f747275737465645f6164647265737365731472656769737465725f7472616e73616374696f6e',
'e167e3f1723e7de7721044908e98167df62b34eec21b225dc4de00733272687f00000000000000007ea12d713858af8412a345c4d17542de4e766a3fdb3f09e06797b18d4051f86dd3268ec782d5973178e2225a3dc2f513244471cdf03213dd343947b709ff41d30000000000000000b9283015c28a199919df7e2665238835c182013b30a4233d6e036cea0d9d373500000000000000008ab0c93b5ca5585b9f3d78f2dafd1e0b43385e5b2a854818a106d338937f178d000000000000000022917e135a1a40a6b43b7776d83513ac797b94496177c9347520ef5431dd12ce0000000000000000bc655c886b535ff1437f28f2717ae3fabdc8a2f040aceebf3dd14a011e744df1000000000000000000000000000000000000000000000000000000000000000000000000000000000b6875625f6164647265737362dcd9931dfd4b454526d130f627854784d12bc67b48810bbe659af1adfd3f5b01110d72656769737465725f636f696e1e6465706c6f795f72656d6f74655f696e746572636861696e5f746f6b656e1873656e645f696e746572636861696e5f7472616e736665721b726563656976655f696e746572636861696e5f7472616e7366657225726563656976655f696e746572636861696e5f7472616e736665725f776974685f646174611f726563656976655f6465706c6f795f696e746572636861696e5f746f6b656e16676976655f756e726567697374657265645f636f696e136d696e745f61735f6469737472696275746f72166d696e745f746f5f61735f6469737472696275746f72136275726e5f61735f6469737472696275746f72126164645f747275737465645f636861696e731572656d6f76655f747275737465645f636861696e731472656769737465725f7472616e73616374696f6e0e7365745f666c6f775f6c696d6974207365745f666c6f775f6c696d69745f61735f746f6b656e5f6f70657261746f720e616c6c6f775f66756e6374696f6e11646973616c6c6f775f66756e6374696f6e',
GatewayV0:
'c15879de64dc6678674e5ad1a32c47319a1e9100bf21408173590455d01f9d160000000000000000196e295da7fe769ff56d2627c38252ee603f90829ea777bce36ce676b5e3d9d5a7f4b2d4c193987e5f01122bc9cce22a791447d10bc58299ced9e4e18db4c2c503000000000000000100000000000000537d294cfaa7dc649e43cab6a2d829674ea9c11c86517fec9e3984cdedaee42501000000000000000e59feaeb543924fabfbeb667efe707290cf4de9e667796b132260f33a84c26ee803000000000000b23c626b920100000f00000000000000010610617070726f76655f6d657373616765730e726f746174655f7369676e6572731369735f6d6573736167655f617070726f7665641369735f6d6573736167655f65786563757465641574616b655f617070726f7665645f6d6573736167650c73656e645f6d657373616765',
GasServiceV0:
Expand All @@ -16,35 +16,46 @@
'5dcab278dc93438e0705fc32023808927e09a29b1ae52eef6cb33b9250d9b87100000000000000005339d11ffc9ae10e448b36b776533e1f08c646ad0441c7a0d410b1e0e5d28e58010000000000000001031472656769737465725f7472616e73616374696f6e1272656d6f76655f7472616e73616374696f6e0f6765745f7472616e73616374696f6e',
};

describe('BCS', () => {
describe.only('BCS', () => {

Check failure on line 19 in test/bcs.js

View workflow job for this annotation

GitHub Actions / lint

Unexpected exclusive mocha test
const checkIdAndSize = (obj, expectedId, size = '0') => {
expect(obj).to.deep.include({ id: expectedId, size });
};

it('should decode InterchainTokenService_v0 object successfully', () => {
const its = bcsStructs.its.InterchainTokenService.parse(fromHEX(hexData.InterchainTokenService_v0)).value;
console.log(its.version_control.allowed_functions);
checkIdAndSize(its.trusted_chains.trusted_chains, 'd3268ec782d5973178e2225a3dc2f513244471cdf03213dd343947b709ff41d3');
checkIdAndSize(its.unregistered_coin_types, 'b9283015c28a199919df7e2665238835c182013b30a4233d6e036cea0d9d3735');
checkIdAndSize(its.unregistered_coins, '8ab0c93b5ca5585b9f3d78f2dafd1e0b43385e5b2a854818a106d338937f178d');
checkIdAndSize(its.registered_coin_types, '22917e135a1a40a6b43b7776d83513ac797b94496177c9347520ef5431dd12ce');
checkIdAndSize(its.registered_coins, 'bc655c886b535ff1437f28f2717ae3fabdc8a2f040aceebf3dd14a011e744df1');

checkIdAndSize(its.trusted_chains.trusted_chains, '270c7f8b9757b05777d3cbf98fa1bb197e1f5a18c8ff7a8ef16e80bedf39a67f');
checkIdAndSize(its.unregistered_coin_types, '00c101dbc800d8cf853e6d21c916aba7c92e4c2692527dc951c777dae15cf474');
checkIdAndSize(its.unregistered_coins, '44bacbed87a2d5f871ce96f3245a293b936fb287605330b3859649f3a2697668');
checkIdAndSize(its.registered_coin_types, '13bd4dc87b61a82ce5959e3ea8c3fed1e03d9c1f7246eef82722354d8e3c0d54');
checkIdAndSize(its.registered_coins, 'e5855b758d21f521071672cbce153167d49b4d15f11f5ca47528117312c2c1fa');

expect(its.channel.id).to.equal('6ccb9729af3569630b9171a0c1fd3eae9797d8122794be5d8cd01061b1dfcb86');
expect(its.relayer_discovery_id).to.equal('0x0000000000000000000000000000000000000000000000000000000000000000');
expect(its.channel.id).to.equal('7ea12d713858af8412a345c4d17542de4e766a3fdb3f09e06797b18d4051f86d');
expect(its.its_hub_address).to.equal('hub_address');
expect(its.chain_name_hash).to.equal('0x62dcd9931dfd4b454526d130f627854784d12bc67b48810bbe659af1adfd3f5b');

const allowedFunctions = its.version_control.allowed_functions[0].contents;
expect(allowedFunctions)
.to.be.an('array')
.that.includes(
'register_coin',
.that.includes( 'register_coin',
'deploy_remote_interchain_token',
'send_interchain_transfer',
'receive_interchain_transfer',
'receive_interchain_transfer_with_data',
'receive_deploy_interchain_token',
'give_unregistered_coin',
'mint_as_distributor',
'mint_to_as_distributor',
'burn_as_distributor',
'add_trusted_chains',
'remove_trusted_chains',
'register_transaction',
'set_flow_limit',
'set_flow_limit_as_token_operator',
'allow_function',
'disallow_function',
);
expect(allowedFunctions).to.have.lengthOf(12);
expect(allowedFunctions).to.have.lengthOf(17);
});

it('should decode Gateway_v0 object successfully', () => {
Expand Down
Loading