From b27fc77fe088b2c1cc6926299535ca764f50d9a3 Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Fri, 2 Feb 2024 18:54:27 +0200 Subject: [PATCH 1/5] test missing tokenfactory bindings --- src/testcases/parallel/tokenfactory.test.ts | 85 +++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/src/testcases/parallel/tokenfactory.test.ts b/src/testcases/parallel/tokenfactory.test.ts index e9360672..8423ffb6 100644 --- a/src/testcases/parallel/tokenfactory.test.ts +++ b/src/testcases/parallel/tokenfactory.test.ts @@ -18,6 +18,8 @@ import { getAuthorityMetadata, getBeforeSendHook, } from '@neutron-org/neutronjsplus/dist/tokenfactory'; +import { random } from 'lodash'; +import {meta} from "@typescript-eslint/parser"; const config = require('../../config.json'); @@ -334,6 +336,41 @@ describe('Neutron / Tokenfactory', () => { )?.value; }); + test('set denom metadata', async () => { + await neutronAccount.executeContract( + contractAddress, + JSON.stringify({ + set_denom_metadata: { + description: denom, + denom_units: [ + { + denom, + exponent: 0, + aliases: [], + }, + ], + base: denom, + display: denom, + name: denom, + symbol: denom, + uri: denom, + uri_hash: denom, + }, + }), + ); + + const metadata = await neutronChain.queryDenomsMetadata(); + expect(metadata.metadatas[5].base).toEqual(denom); + expect(metadata.metadatas[5].uri).toEqual(denom); + expect(metadata.metadatas[5].display).toEqual(denom); + expect(metadata.metadatas[5].description).toEqual(denom); + expect(metadata.metadatas[5].name).toEqual(denom); + expect(metadata.metadatas[5].symbol).toEqual(denom); + expect(metadata.metadatas[5].uri_hash).toEqual(denom); + expect(metadata.metadatas[5].denom_units.length).toEqual(1); + expect(metadata.metadatas[5].denom_units[0].denom).toEqual(denom); + }); + test('mint coins', async () => { await neutronAccount.executeContract( contractAddress, @@ -425,6 +462,54 @@ describe('Neutron / Tokenfactory', () => { // TODO: check that it actually sets hook by querying tokenfactory module }); + test('force transfer', async () => { + const randomAccount = 'neutron14640tst2rx45nxg3evqwlzuaestnnhm8es3rtc'; + const randomAccount2 = 'neutron14qncu5xag9ec26cx09x6pwncn9w74pq3zqe408'; + + await neutronAccount.executeContract( + contractAddress, + JSON.stringify({ + mint_tokens: { + denom, + amount: amount.toString(), + }, + }), + ); + + await neutronAccount.executeContract( + contractAddress, + JSON.stringify({ + send_tokens: { + recipient: randomAccount, + denom, + amount: amount.toString(), + }, + }), + ); + const balance = await neutronChain.queryDenomBalance( + randomAccount, + denom, + ); + expect(balance).toEqual(amount); + + await neutronAccount.executeContract( + contractAddress, + JSON.stringify({ + force_transfer: { + denom, + amount: amount.toString(), + from: randomAccount, + to: randomAccount2, + }, + }), + ); + const balance2 = await neutronChain.queryDenomBalance( + randomAccount2, + denom, + ); + expect(balance2).toEqual(amount); + }); + test('change admin', async () => { await neutronAccount.executeContract( contractAddress, From 12f80ecc4cdb0708d9c6b002e8a25c6e1bbb6c17 Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Fri, 2 Feb 2024 19:03:43 +0200 Subject: [PATCH 2/5] bump neutronjsplus --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 377d05eb..e6d737f5 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@cosmos-client/core": "^0.47.4", "@cosmos-client/cosmwasm": "^0.40.3", "@cosmos-client/ibc": "^1.2.1", - "@neutron-org/neutronjsplus": "0.3.0", + "@neutron-org/neutronjsplus": "0.3.1-rc1", "@types/lodash": "^4.14.182", "@types/long": "^4.0.2", "axios": "^0.27.2", diff --git a/yarn.lock b/yarn.lock index 0e522fbf..aa6f85f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1564,10 +1564,10 @@ resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186" integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== -"@neutron-org/neutronjsplus@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@neutron-org/neutronjsplus/-/neutronjsplus-0.3.0.tgz#cb133953cfdd8ff9c3e3f89b6a8bf3ab192424c3" - integrity sha512-gLI1hk1SOQaJnK/JDWfcDH4ERXNWdftUhpUHdoWWaMY5VbnYM2Sf1vM8tUnLBoNkJE2iTxYSDxkriU5jTYzYww== +"@neutron-org/neutronjsplus@0.3.1-rc1": + version "0.3.1-rc1" + resolved "https://registry.yarnpkg.com/@neutron-org/neutronjsplus/-/neutronjsplus-0.3.1-rc1.tgz#c2526532e86b1933d53f212ed774f45b07abe636" + integrity sha512-x6m/p/qSSnY7qonfqAPihO+oavkDiCxzTg0jjkRc0/J0SOmGm5PJb47VnF+DMczRDeWJMgc244QkkyzCR75jXQ== dependencies: "@bufbuild/protobuf" "^1.4.2" "@cosmos-client/core" "^0.47.4" From f921625f6ea4443565ee2eac87837ba305f9ee0a Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Fri, 2 Feb 2024 20:00:03 +0200 Subject: [PATCH 3/5] proper check of denom metadata change --- src/testcases/parallel/tokenfactory.test.ts | 23 +++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/testcases/parallel/tokenfactory.test.ts b/src/testcases/parallel/tokenfactory.test.ts index 8423ffb6..c2cedf8f 100644 --- a/src/testcases/parallel/tokenfactory.test.ts +++ b/src/testcases/parallel/tokenfactory.test.ts @@ -19,7 +19,7 @@ import { getBeforeSendHook, } from '@neutron-org/neutronjsplus/dist/tokenfactory'; import { random } from 'lodash'; -import {meta} from "@typescript-eslint/parser"; +import { meta } from '@typescript-eslint/parser'; const config = require('../../config.json'); @@ -359,16 +359,17 @@ describe('Neutron / Tokenfactory', () => { }), ); - const metadata = await neutronChain.queryDenomsMetadata(); - expect(metadata.metadatas[5].base).toEqual(denom); - expect(metadata.metadatas[5].uri).toEqual(denom); - expect(metadata.metadatas[5].display).toEqual(denom); - expect(metadata.metadatas[5].description).toEqual(denom); - expect(metadata.metadatas[5].name).toEqual(denom); - expect(metadata.metadatas[5].symbol).toEqual(denom); - expect(metadata.metadatas[5].uri_hash).toEqual(denom); - expect(metadata.metadatas[5].denom_units.length).toEqual(1); - expect(metadata.metadatas[5].denom_units[0].denom).toEqual(denom); + const metadatas = await neutronChain.queryDenomsMetadata(); + const metadata = metadatas.metadatas.find((meta) => meta.base == denom); + expect(metadata.base).toEqual(denom); + expect(metadata.uri).toEqual(denom); + expect(metadata.display).toEqual(denom); + expect(metadata.description).toEqual(denom); + expect(metadata.name).toEqual(denom); + expect(metadata.symbol).toEqual(denom); + expect(metadata.uri_hash).toEqual(denom); + expect(metadata.denom_units.length).toEqual(1); + expect(metadata.denom_units[0].denom).toEqual(denom); }); test('mint coins', async () => { From dd07ea6d5d780f5ee76839ba5c5b192f7fadcaac Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Sat, 10 Feb 2024 17:00:49 +0200 Subject: [PATCH 4/5] rm unused imports --- src/testcases/parallel/tokenfactory.test.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/testcases/parallel/tokenfactory.test.ts b/src/testcases/parallel/tokenfactory.test.ts index c2cedf8f..ffdc2575 100644 --- a/src/testcases/parallel/tokenfactory.test.ts +++ b/src/testcases/parallel/tokenfactory.test.ts @@ -18,8 +18,6 @@ import { getAuthorityMetadata, getBeforeSendHook, } from '@neutron-org/neutronjsplus/dist/tokenfactory'; -import { random } from 'lodash'; -import { meta } from '@typescript-eslint/parser'; const config = require('../../config.json'); From aaae96e719dc22e9e9b264d9ed840dcb9a2c35b9 Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Tue, 13 Feb 2024 17:59:32 +0400 Subject: [PATCH 5/5] fix neutronjplus release --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e6d737f5..f7bf0329 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@cosmos-client/core": "^0.47.4", "@cosmos-client/cosmwasm": "^0.40.3", "@cosmos-client/ibc": "^1.2.1", - "@neutron-org/neutronjsplus": "0.3.1-rc1", + "@neutron-org/neutronjsplus": "0.3.1", "@types/lodash": "^4.14.182", "@types/long": "^4.0.2", "axios": "^0.27.2", diff --git a/yarn.lock b/yarn.lock index aa6f85f9..12816811 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1564,10 +1564,10 @@ resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186" integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== -"@neutron-org/neutronjsplus@0.3.1-rc1": - version "0.3.1-rc1" - resolved "https://registry.yarnpkg.com/@neutron-org/neutronjsplus/-/neutronjsplus-0.3.1-rc1.tgz#c2526532e86b1933d53f212ed774f45b07abe636" - integrity sha512-x6m/p/qSSnY7qonfqAPihO+oavkDiCxzTg0jjkRc0/J0SOmGm5PJb47VnF+DMczRDeWJMgc244QkkyzCR75jXQ== +"@neutron-org/neutronjsplus@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@neutron-org/neutronjsplus/-/neutronjsplus-0.3.1.tgz#56670b48ab25c634d019720694e50d37ba733af1" + integrity sha512-O7Q4Qvqwmj6bY2rCUTXPPdKg8MmqtD/4IugWIeDoCNQN1i75qBAxJhxXZ6tILdDicQZlwXdoP9usqwvKxMRYdA== dependencies: "@bufbuild/protobuf" "^1.4.2" "@cosmos-client/core" "^0.47.4"