K
K
Klaytn Docs
Search…
caver.abi
The caver.abi package allows you to decode and encode parameters with an ABI (Application Binary Interface). This will be used for calling functions of a deployed smart contracts.

encodeFunctionSignature

1
caver.abi.encodeFunctionSignature(functionSignature)
Copied!
Encodes the function signature to its ABI signature, which are the first 4 bytes of the sha3 hash of the function name including parameter types.
Parameters
Name
Type
Description
functionSignature
string | object
The function signature or the JSON interface object of the function to encode. If this is a string, it has to be in the form function(type, type,...), e.g: myFunction(uint256,uint32[],bytes10,bytes)
Return Value
Type
Description
string
The ABI signature of the function.
Examples
1
// From a JSON interface object
2
> caver.abi.encodeFunctionSignature({
3
name: 'myMethod',
4
type: 'function',
5
inputs: [{
6
type: 'uint256',
7
name: 'myNumber'
8
},{
9
type: 'string',
10
name: 'mystring'
11
}]
12
})
13
'0x24ee0097'
14
15
// From a function signature
16
> caver.abi.encodeFunctionSignature('myMethod(uint256,string)')
17
'0x24ee0097'
Copied!

encodeEventSignature

1
caver.abi.encodeEventSignature(eventSignature)
Copied!
Encodes the event signature to its ABI signature, which is the sha3 hash of the event name including input parameter types.
Parameters
Name
Type
Description
eventSignature
string | object
The event signature or the JSON interface object of the event to encode. If this is a string, it has to be in the form event(type,type,...), e.g: myEvent(uint256,uint32[],bytes10,bytes)
Return Value
Type
Description
string
The ABI signature of the event.
Examples
1
// From a JSON interface object
2
> caver.abi.encodeEventSignature({
3
name: 'myEvent',
4
type: 'event',
5
inputs: [{
6
type: 'uint256',
7
name: 'myNumber'
8
},{
9
type: 'bytes32',
10
name: 'myBytes'
11
}]
12
})
13
'0xf2eeb729e636a8cb783be044acf6b7b1e2c5863735b60d6daae84c366ee87d97'
14
15
// From an event signature
16
> caver.abi.encodeEventSignature('myEvent(uint256,bytes32)')
17
'0xf2eeb729e636a8cb783be044acf6b7b1e2c5863735b60d6daae84c366ee87d97'
Copied!

encodeParameter

1
caver.abi.encodeParameter(type, parameter)
Copied!
Encodes a parameter based on its type to its ABI representation.
Parameters
Name
Type
Description
type
string | object
The type of the parameter, see the solidity documentation for a list of types.
parameter
Mixed
The actual parameter to encode.
NOTE tuple type is supported since caver-js v1.6.0. For more details about tuple type, please refer to Solidity Docs.
Return Value
Type
Description
string
The ABI encoded parameter.
Examples
1
> caver.abi.encodeParameter('uint256', '2345675643')
2
'0x000000000000000000000000000000000000000000000000000000008bd02b7b'
3
4
> caver.abi.encodeParameter('bytes32', caver.utils.rightPad('0xdf3234', 64))
5
'0xdf32340000000000000000000000000000000000000000000000000000000000'
6
7
> caver.abi.encodeParameter('bytes', '0xdf3234')
8
'0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003df32340000000000000000000000000000000000000000000000000000000000'
9
10
> caver.abi.encodeParameter('bytes32[]', [caver.utils.rightPad('0xdf3234', 64), caver.utils.rightPad('0xfdfd', 64)])
11
'0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002df32340000000000000000000000000000000000000000000000000000000000fdfd000000000000000000000000000000000000000000000000000000000000'
12
13
> caver.abi.encodeParameter('tuple(bytes32,bool)', ['0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18', true])
14
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001'
15
16
> caver.abi.encodeParameter(
17
{
18
components: [{ name: 'a', type: 'bytes32' }, { name: 'b', type: 'bool' }],
19
name: 'tupleExample',
20
type: 'tuple',
21
},
22
['0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18', true]
23
)
24
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001'
Copied!

encodeParameters

1
caver.abi.encodeParameters(typesArray, parameters)
Copied!
Encodes function parameters based on its JSON interface object.
Parameters
Name
Type
Description
typesArray
Array | object
An array with types or a JSON interface of a function. See the solidity documentation for a list of types.
parameters
Array
The parameters to encode.
NOTE tuple type is supported since caver-js v1.6.0. For more details about tuple type, please refer to Solidity Docs.
Return Value
Type
Description
string
The ABI encoded parameters.
Examples
1
> caver.abi.encodeParameters(['uint256','string'], ['2345675643', 'Hello!%'])
2
'0x000000000000000000000000000000000000000000000000000000008bd02b7b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000748656c6c6f212500000000000000000000000000000000000000000000000000'
3
4
> caver.abi.encodeParameters(['uint8[]','bytes32'], [['34','255'], caver.utils.rightPad('0x324567fff', 64)])
5
'0x0000000000000000000000000000000000000000000000000000000000000040324567fff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000ff'
6
7
> caver.abi.encodeParameters(
8
['tuple(bytes32,bool)', 'tuple(bool,address)'],
9
[
10
['0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18', true],
11
[true, '0x77656c636f6d6520746f20657468657265756d2e']
12
]
13
)
14
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000077656c636f6d6520746f20657468657265756d2e'
15
16
> caver.abi.encodeParameters(
17
[
18
{
19
components: [{ name: 'a', type: 'bytes32' }, { name: 'b', type: 'bool' }],
20
name: 'tupleExample',
21
type: 'tuple',
22
},
23
{
24
components: [{ name: 'c', type: 'bool' }, { name: 'd', type: 'address' }],
25
name: 'tupleExample2',
26
type: 'tuple',
27
},
28
],
29
[
30
['0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18', true],
31
[true, '0x77656c636f6d6520746f20657468657265756d2e']
32
]
33
)
34
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000077656c636f6d6520746f20657468657265756d2e'
Copied!

encodeFunctionCall

1
caver.abi.encodeFunctionCall(jsonInterface, parameters)
Copied!
Encodes a function call using its JSON interface object and given parameters.
Parameters
Name
Type
Description
jsonInterface
object
The JSON interface object of a function.
parameters
Array
The parameters to encode.
Return Value
Type
Description
string
The ABI encoded function call, which means function signature + parameters.
Examples
1
> caver.abi.encodeFunctionCall({
2
name: 'myMethod',
3
type: 'function',
4
inputs: [{
5
type: 'uint256',
6
name: 'myNumber'
7
},{
8
type: 'string',
9
name: 'mystring'
10
}]
11
}, ['2345675643', 'Hello!%'])
12
'0x24ee0097000000000000000000000000000000000000000000000000000000008bd02b7b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000748656c6c6f212500000000000000000000000000000000000000000000000000'
Copied!

decodeFunctionCall

1
caver.abi.decodeFunctionCall(abi, functionCall)
Copied!
Decodes a function call from its abi object of a function or function abi string and returns parameters.
NOTE caver.abi.decodeFunctionCall is supported since caver-js v1.6.3.
Parameters
Name
Type
Description
abi
object
The abi object of a function.
functionCall
string
The encoded function call string.
Return Value
Type
Description
object
An object which includes plain params. You can use result[0] as it is provided to be accessed like an array in the order of the parameters.
Examples
1
> caver.abi.decodeFunctionCall({
2
name: 'myMethod',
3
type: 'function',
4
inputs: [{
5
type: 'uint256',
6
name: 'myNumber'
7
},{
8
type: 'string',
9
name: 'mystring'
10
}]
11
}, '0x24ee0097000000000000000000000000000000000000000000000000000000008bd02b7b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000748656c6c6f212500000000000000000000000000000000000000000000000000')
12
Result {
13
'0': '2345675643',
14
'1': 'Hello!%',
15
__length__: 2,
16
myNumber: '2345675643',
17
mystring: 'Hello!%'
18
}
Copied!

decodeParameter

1
caver.abi.decodeParameter(type, hexstring)
Copied!
Decodes an ABI encoded parameter to its JavaScript type.
Parameters
Name
Type
Description
type
string|object
The type of the parameter, see the solidity documentation for a list of types.
hexstring
Array
The ABI byte code to decode.
NOTE tuple type is supported since caver-js v1.6.0. For more details about tuple type, please refer to Solidity Docs.
Return Value
Type
Description
Mixed
The decoded parameter.
Examples
1
> caver.abi.decodeParameter('uint256', '0x0000000000000000000000000000000000000000000000000000000000000010')
2
'16'
3
4
> caver.abi.decodeParameter('string', '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000')
5
'Hello!%!'
6
7
> caver.abi.decodeParameter('tuple(bytes32,bool)', '0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001')
8
[ '0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18', true ]
9
10
> caver.abi.decodeParameter(
11
{
12
components: [{ name: 'a', type: 'bytes32' }, { name: 'b', type: 'bool' }],
13
name: 'tupleExample',
14
type: 'tuple',
15
},
16
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001'
17
)
18
[
19
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18',
20
true,
21
a: '0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18',
22
b: true
23
]
Copied!

decodeParameters

1
caver.abi.decodeParameters(typesArray, hexstring)
Copied!
Decodes ABI encoded parameters to its JavaScript types.
Parameters
Name
Type
Description
typesArray
Array | object
An array with types or an array of JSON interface outputs. See the solidity documentation for a list of types.
hexstring
string
The ABI byte code to decode.
NOTE tuple type is supported since caver-js v1.6.0. For more details about tuple type, please refer to Solidity Docs.
Return Value
Type
Description
object
The result object containing the decoded parameters.
Examples
1
> caver.abi.decodeParameters(['string', 'uint256'], '0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000ea000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000')
2
Result { '0': 'Hello!%!', '1': '234' }
3
4
> caver.abi.decodeParameters([{
5
type: 'string',
6
name: 'mystring'
7
},{
8
type: 'uint256',
9
name: 'myNumber'
10
}], '0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000ea000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000')
11
Result {
12
'0': 'Hello!%!',
13
'1': '234',
14
mystring: 'Hello!%!',
15
myNumber: '234'
16
}
17
18
> caver.abi.decodeParameters(
19
['tuple(bytes32,bool)', 'tuple(bool,address)'],
20
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000077656c636f6d6520746f20657468657265756d2e'
21
)
22
Result {
23
'0': [ '0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18', true ],
24
'1': [ true, '0x77656c636f6d6520746F20657468657265756d2E' ],
25
}
26
27
> caver.abi.decodeParameters(
28
[
29
{
30
components: [{ name: 'a', type: 'bytes32' }, { name: 'b', type: 'bool' }],
31
name: 'tupleExample',
32
type: 'tuple',
33
},
34
{
35
components: [{ name: 'c', type: 'bool' }, { name: 'd', type: 'address' }],
36
name: 'tupleExample2',
37
type: 'tuple',
38
},
39
],
40
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a180000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000077656c636f6d6520746f20657468657265756d2e'
41
)
42
Result {
43
'0': [
44
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18',
45
true,
46
a: '0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18',
47
b: true
48
],
49
'1': [
50
true,
51
'0x77656c636f6d6520746F20657468657265756d2E',
52
c: true,
53
d: '0x77656c636f6d6520746F20657468657265756d2E'
54
],
55
tupleExample: [
56
'0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18',
57
true,
58
a: '0xabdef18710a18a18abdef18710a18a18abdef18710a18a18abdef18710a18a18',
59
b: true
60
],
61
tupleExample2: [
62
true,
63
'0x77656c636f6d6520746F20657468657265756d2E',
64
c: true,
65
d: '0x77656c636f6d6520746F20657468657265756d2E'
66
]
67
}
Copied!

decodeLog

1
caver.abi.decodeLog(inputs, hexstring, topics)
Copied!
Decodes ABI encoded log data and indexed topic data.
Parameters
Name
Type
Description
inputs
Array
An array of JSON interface inputs. See the solidity documentation for a list of types.
hexstring
string
The ABI byte code in the data field of a log.
topics
Array
An array of the index parameter topics of the log. This array doesn't have topic[0] if it is a non-anonymous event, or otherwise, it has topic[0].
Return Value
Type
Description
object
The result object containing the decoded logs.
Examples
1
> caver.abi.decodeLog([{
2
type: 'string',
3
name: 'mystring'
4
},{
5
type: 'uint256',
6
name: 'myNumber',
7
indexed: true
8
},{
9
type: 'uint8',
10
name: 'mySmallNumber',
11
indexed: true
12
}],
13
'0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000748656c6c6f252100000000000000000000000000000000000000000000000000',
14
['0x000000000000000000000000000000000000000000000000000000000000f310', '0x0000000000000000000000000000000000000000000000000000000000000010'])
15
Result {
16
'0': 'Hello%!',
17
'1': '62224',
18
'2': '16',
19
mystring: 'Hello%!',
20
myNumber: '62224',
21
mySmallNumber: '16'
22
}
Copied!

encodeContractDeploy

1
caver.abi.encodeContractDeploy(jsonInterface, hexstring [, params])
Copied!
Encodes smart contract bytecode with the arguments of the constructor.
Parameters
Name
Type
Description
jsonInterface
Array
The JSON interface of the contract.
hexstring
string
A bytecode of smart contract to be deployed.
params
Mixed
(optional) Arguments to pass to the constructor.
Return Value
Type
Description
string
The ABI encoded smart contract deployment with constructor arguments, which means byteCode + parameters.
Examples
1
// There is no argument for constructor
2
> caver.abi.encodeContractDeploy([
3
{"constant": true, "inputs": [], "name": "count", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
4
{ "constant": true, "inputs": [], "name": "getBlockNumber", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
5
{ "constant": false, "inputs": [ { "name": "_count", "type": "uint256" } ], "name": "setCount", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }
6
],'0x60806040526000805534801561001457600080fd5b50610116806100246000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a7230582064856de85a2706463526593b08dd790054536042ef66d3204018e6790a2208d10029')
7
'0x60806040526000805534801561001457600080fd5b50610116806100246000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a7230582064856de85a2706463526593b08dd790054536042ef66d3204018e6790a2208d10029'
8
9
// There is one argument for constructor(uint256)
10
> caver.abi.encodeContractDeploy([
11
{ "constant": true, "inputs": [], "name": "count", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
12
{ "constant": true, "inputs": [], "name": "getBlockNumber", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
13
{ "constant": false, "inputs": [ { "name": "_count", "type": "uint256" } ], "name": "setCount", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" },
14
{ "inputs": [ { "name": "_a", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }
15
],'0x60806040526000805534801561001457600080fd5b5060405160208061015d8339810180604052810190808051906020019092919050505050610116806100476000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a72305820ec774499bcdb89d9e570156a76249b33e99c766dfc6944e55aeeca316b41debf0029', 1)
16
'0x60806040526000805534801561001457600080fd5b5060405160208061015d8339810180604052810190808051906020019092919050505050610116806100476000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a72305820ec774499bcdb89d9e570156a76249b33e99c766dfc6944e55aeeca316b41debf00290000000000000000000000000000000000000000000000000000000000000001'
17
18
// There are two arguments for constructor(uint256, uint256)
19
> caver.abi.encodeContractDeploy([
20
{ "constant": true, "inputs": [], "name": "count", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
21
{ "constant": true, "inputs": [], "name": "getBlockNumber", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
22
{ "constant": false, "inputs": [ { "name": "_count", "type": "uint256" } ], "name": "setCount", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" },
23
{ "inputs": [ { "name": "_a", "type": "uint256" }, { "name": "_b", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }
24
],'0x60806040526000805534801561001457600080fd5b5060405160408061016883398101806040528101908080519060200190929190805190602001909291905050505050610116806100526000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a72305820f85b40d5ad70d0b3599200515915dca3074bcf609f27660845ecbfe882d3eeee0029', 1, 2)
25
'0x60806040526000805534801561001457600080fd5b5060405160408061016883398101806040528101908080519060200190929190805190602001909291905050505050610116806100526000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a72305820f85b40d5ad70d0b3599200515915dca3074bcf609f27660845ecbfe882d3eeee002900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002'
26
27
// There is one argument for constructor(string)
28
> caver.abi.encodeContractDeploy([
29
{ "constant": true, "inputs": [], "name": "count", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
30
{ "constant": true, "inputs": [], "name": "getBlockNumber", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" },
31
{ "constant": false, "inputs": [ { "name": "_count", "type": "uint256" } ], "name": "setCount", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" },
32
{ "inputs": [ { "name": "_a", "type": "string" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }
33
],'0x60806040526000805534801561001457600080fd5b5060405161015d38038061015d8339810180604052810190808051820192919050505050610116806100476000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a7230582082c35290d5a3c5f9ae552e0f638388cdc57d596a0973febe5de8eb9ee6df48a60029', 'stringParams')
34
'0x60806040526000805534801561001457600080fd5b5060405161015d38038061015d8339810180604052810190808051820192919050505050610116806100476000396000f3006080604052600436106053576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd14605857806342cbb15c146080578063d14e62b81460a8575b600080fd5b348015606357600080fd5b50606a60d2565b6040518082815260200191505060405180910390f35b348015608b57600080fd5b50609260d8565b6040518082815260200191505060405180910390f35b34801560b357600080fd5b5060d06004803603810190808035906020019092919050505060e0565b005b60005481565b600043905090565b80600081905550505600a165627a7a7230582082c35290d5a3c5f9ae552e0f638388cdc57d596a0973febe5de8eb9ee6df48a600290000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c737472696e67506172616d730000000000000000000000000000000000000000'
Copied!
Last modified 1mo ago