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 }