diff --git a/examples/009-multi-sig.js b/examples/009-multi-sig.js index 7e64b4b..c0e9716 100644 --- a/examples/009-multi-sig.js +++ b/examples/009-multi-sig.js @@ -22,6 +22,7 @@ const assetService = new AssetService(client, account1); async function main() { console.log(`creating multi-sig account`); const multiSigReceipt = await multiSigService.write.generate_account({ + autonomy: false, addr_with_weight: [ { address: account1.address, weight: 1 }, { address: account2.address, weight: 1 }, diff --git a/packages/muta-service/src/builtins/MultiSignatureService.e2e.ts b/packages/muta-service/src/builtins/MultiSignatureService.e2e.ts new file mode 100644 index 0000000..d4189d3 --- /dev/null +++ b/packages/muta-service/src/builtins/MultiSignatureService.e2e.ts @@ -0,0 +1,32 @@ +import { Client } from '@mutadev/client'; +import { Account } from '@mutadev/account'; +import { MultiSignatureService } from './MultiSignatureService'; + +const client = new Client(); + +const account1 = new Account( + '0x0000000000000000000000000000000000000000000000000000000000000001', +); +const account2 = new Account( + '0x0000000000000000000000000000000000000000000000000000000000000002', +); +const account3 = new Account( + '0x0000000000000000000000000000000000000000000000000000000000000003', +); + +test('test MultiSignatureService', async () => { + const service = new MultiSignatureService(client, account1); + const receipt = await service.write.generate_account({ + autonomy: false, + addr_with_weight: [ + { address: account1.address, weight: 1 }, + { address: account2.address, weight: 1 }, + { address: account3.address, weight: 1 }, + ], + memo: 'hello world', + owner: account1.address, + threshold: 2, + }); + + expect(Number(receipt.response.response.code)).toBe(0); +}); diff --git a/packages/muta-service/src/builtins/MultiSignatureService.ts b/packages/muta-service/src/builtins/MultiSignatureService.ts index b450ce8..9c5a9af 100644 --- a/packages/muta-service/src/builtins/MultiSignatureService.ts +++ b/packages/muta-service/src/builtins/MultiSignatureService.ts @@ -2,6 +2,7 @@ import { Address, SignedTransaction, Vec, u32 } from '@mutadev/types'; import { createServiceBindingClass, read, write } from '../create'; interface GenerateMultiSigAccountPayload { + autonomy: boolean; owner: Address; addr_with_weight: Vec; threshold: u32;