github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/js/src/solts/sol/Contains.abi.ts (about)

     1  //Code generated by solts. DO NOT EDIT.
     2  import { Address, CancelStreamSignal, ContractCodec, Event, Keccak } from '../../index';
     3  interface Provider {
     4    deploy(
     5      data: string | Uint8Array,
     6      contractMeta?: {
     7        abi: string;
     8        codeHash: Uint8Array;
     9      }[],
    10    ): Promise<Address>;
    11    call(data: string | Uint8Array, address: string): Promise<Uint8Array | undefined>;
    12    callSim(data: string | Uint8Array, address: string): Promise<Uint8Array | undefined>;
    13    listen(
    14      signatures: string[],
    15      address: string,
    16      callback: (err?: Error, event?: Event) => CancelStreamSignal | void,
    17      start?: 'first' | 'latest' | 'stream' | number,
    18      end?: 'first' | 'latest' | 'stream' | number,
    19    ): unknown;
    20    contractCodec(contractABI: string): ContractCodec;
    21  }
    22  export type Caller = typeof defaultCall;
    23  export async function defaultCall<Output>(
    24    client: Provider,
    25    addr: string,
    26    data: Uint8Array,
    27    isSim: boolean,
    28    callback: (returnData: Uint8Array | undefined) => Output,
    29  ): Promise<Output> {
    30    const returnData = await (isSim ? client.callSim(data, addr) : client.call(data, addr));
    31    return callback(returnData);
    32  }
    33  export namespace Contains {
    34    export const contractName = 'Contains';
    35    export const abi =
    36      '[{"constant":true,"inputs":[{"internalType":"address[]","name":"_list","type":"address[]"},{"internalType":"address","name":"_value","type":"address"}],"name":"contains","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256[]","name":"_list","type":"uint256[]"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"contains","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"}]';
    37    export const bytecode =
    38      '608060405234801561001057600080fd5b50610304806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633da80d661461003b578063b32b8e2c1461012b575b600080fd5b6101116004803603604081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460208302840111640100000000831117156100a257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610205565b604051808215151515815260200191505060405180910390f35b6101eb6004803603604081101561014157600080fd5b810190808035906020019064010000000081111561015e57600080fd5b82018360208201111561017057600080fd5b8035906020019184602083028401116401000000008311171561019257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610280565b604051808215151515815260200191505060405180910390f35b600080600090505b8351811015610274578273ffffffffffffffffffffffffffffffffffffffff1684828151811061023957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561026757600191505061027a565b808060010191505061020d565b50600090505b92915050565b600080600090505b83518110156102c3578284828151811061029e57fe5b602002602001015114156102b65760019150506102c9565b8080600101915050610288565b50600090505b9291505056fea265627a7a7231582032d6f06ddf667cc291458c6ed27a81fe8ef6fa213f3cf25c0fef50500bc05f2264736f6c63430005110032';
    39    export const deployedBytecode =
    40      '608060405234801561001057600080fd5b50600436106100365760003560e01c80633da80d661461003b578063b32b8e2c1461012b575b600080fd5b6101116004803603604081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460208302840111640100000000831117156100a257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610205565b604051808215151515815260200191505060405180910390f35b6101eb6004803603604081101561014157600080fd5b810190808035906020019064010000000081111561015e57600080fd5b82018360208201111561017057600080fd5b8035906020019184602083028401116401000000008311171561019257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610280565b604051808215151515815260200191505060405180910390f35b600080600090505b8351811015610274578273ffffffffffffffffffffffffffffffffffffffff1684828151811061023957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561026757600191505061027a565b808060010191505061020d565b50600090505b92915050565b600080600090505b83518110156102c3578284828151811061029e57fe5b602002602001015114156102b65760019150506102c9565b8080600101915050610288565b50600090505b9291505056fea265627a7a7231582032d6f06ddf667cc291458c6ed27a81fe8ef6fa213f3cf25c0fef50500bc05f2264736f6c63430005110032';
    41    export function deploy({
    42      client,
    43      withContractMeta,
    44    }: {
    45      client: Provider;
    46      withContractMeta?: boolean;
    47    }): Promise<string> {
    48      const codec = client.contractCodec(abi);
    49      const data = Buffer.concat([Buffer.from(bytecode, 'hex'), codec.encodeDeploy()]);
    50      return client.deploy(
    51        data,
    52        withContractMeta
    53          ? [{ abi: Contains.abi, codeHash: new Keccak(256).update(Contains.deployedBytecode, 'hex').digest('binary') }]
    54          : undefined,
    55      );
    56    }
    57    export async function deployContract(deps: { client: Provider; withContractMeta?: boolean }): Promise<Contract> {
    58      const address = await deploy(deps);
    59      return contract(deps.client, address);
    60    }
    61    export type Contract = ReturnType<typeof contract>;
    62    export const contract = (client: Provider, address: string) =>
    63      ({
    64        name: 'Contains',
    65        address,
    66        functions: {
    67          contains(_list: string[], _value: string, call = defaultCall): Promise<[boolean]> {
    68            const data = encode(client).contains[0](_list, _value);
    69            return call<[boolean]>(client, address, data, true, (data: Uint8Array | undefined) => {
    70              return decode(client, data).contains[0]();
    71            });
    72          },
    73          contains_1(_list: number[], _value: number, call = defaultCall): Promise<[boolean]> {
    74            const data = encode(client).contains[1](_list, _value);
    75            return call<[boolean]>(client, address, data, true, (data: Uint8Array | undefined) => {
    76              return decode(client, data).contains[1]();
    77            });
    78          },
    79        } as const,
    80      } as const);
    81    export const encode = (client: Provider) => {
    82      const codec = client.contractCodec(abi);
    83      return {
    84        contains: [
    85          (_list: string[], _value: string) => {
    86            return codec.encodeFunctionData('3DA80D66', _list, _value);
    87          },
    88          (_list: number[], _value: number) => {
    89            return codec.encodeFunctionData('B32B8E2C', _list, _value);
    90          },
    91        ] as const,
    92      };
    93    };
    94    export const decode = (client: Provider, data: Uint8Array | undefined, topics: Uint8Array[] = []) => {
    95      const codec = client.contractCodec(abi);
    96      return {
    97        contains: [
    98          (): [boolean] => {
    99            return codec.decodeFunctionResult('3DA80D66', data);
   100          },
   101          (): [boolean] => {
   102            return codec.decodeFunctionResult('B32B8E2C', data);
   103          },
   104        ] as const,
   105      };
   106    };
   107  }