| 123456789101112131415161718192021222324252627282930313233343536 |
- // SPDX-License-Identifier: Apache-2.0
- import expect from 'expect';
- import { createConnection, deploy, transaction, aliceKeypair, query, } from './index';
- import { ContractPromise } from '@polkadot/api-contract';
- import { ApiPromise } from '@polkadot/api';
- describe('Deploy contract with overloaded functions using mangled names', () => {
- let conn: ApiPromise;
- before(async function () {
- conn = await createConnection();
- });
- after(async function () {
- await conn.disconnect();
- });
- it('works with mangled function names', async function () {
- this.timeout(50000);
- const alice = aliceKeypair();
- let deploy_contract = await deploy(conn, alice, 'Overloading.contract', BigInt(0));
- let contract = new ContractPromise(conn, deploy_contract.abi, deploy_contract.address);
- let res0 = await query(conn, alice, contract, "echo");
- expect(res0.output?.toJSON()).toEqual(42);
- let res1 = await query(conn, alice, contract, "echoUint32", [1234]);
- expect(res1.output?.toJSON()).toEqual(1234);
- let someStruct = { s: "foo", e: [["v1", "v2"], ["v3", "v4"]] };
- let res2 = await query(conn, alice, contract, "echoBoolStringUint8Array2Array", [true, someStruct]);
- expect(res2.output?.toJSON()).toEqual(someStruct);
- });
- });
|