You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
2.5 KiB
156 lines
2.5 KiB
6 years ago
|
'use strict'
|
||
5 years ago
|
const tape = require('tape')
|
||
|
const txHelper = require('../src/execution/txHelper')
|
||
6 years ago
|
|
||
|
tape('getFunction', function (st) {
|
||
5 years ago
|
st.plan(6)
|
||
5 years ago
|
let fn = txHelper.getFunction(JSON.parse(abi), 'o((address,uint256))')
|
||
6 years ago
|
st.equal(fn.name, 'o')
|
||
|
|
||
|
fn = txHelper.getFunction(JSON.parse(abi), 'i(bytes32)')
|
||
|
st.equal(fn.name, 'i')
|
||
|
|
||
|
fn = txHelper.getFunction(JSON.parse(abi), 'o1(string,(address,uint256),int256,int256[][3],(address,uint256)[3][])')
|
||
|
st.equal(fn.name, 'o1')
|
||
|
|
||
|
fn = txHelper.getConstructorInterface(JSON.parse(abi))
|
||
|
st.equal(fn.type, 'constructor')
|
||
|
|
||
|
fn = txHelper.getFallbackInterface(JSON.parse(abi))
|
||
|
st.equal(fn.type, 'fallback')
|
||
5 years ago
|
|
||
|
fn = txHelper.getReceiveInterface(JSON.parse(abi))
|
||
|
st.equal(fn.type, 'receive')
|
||
6 years ago
|
})
|
||
|
|
||
5 years ago
|
const abi = `[
|
||
6 years ago
|
{
|
||
|
"constant": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"name": "_param",
|
||
|
"type": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"name": "i",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "_t",
|
||
|
"type": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"payable": false,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"name": "_g",
|
||
|
"type": "string"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"name": "age",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "_p",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"name": "_pg",
|
||
|
"type": "int256"
|
||
|
},
|
||
|
{
|
||
|
"name": "",
|
||
|
"type": "int256[][3]"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"name": "age",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "",
|
||
|
"type": "tuple[3][]"
|
||
|
}
|
||
|
],
|
||
|
"name": "o1",
|
||
|
"outputs": [],
|
||
|
"payable": false,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"name": "age",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "_p",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"name": "o",
|
||
|
"outputs": [],
|
||
|
"payable": false,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"name": "_g",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"name": "age",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "u",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"payable": false,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"payable": false,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "fallback"
|
||
5 years ago
|
},
|
||
|
{
|
||
|
"payable": true,
|
||
|
"stateMutability": "payable",
|
||
|
"type": "receive"
|
||
6 years ago
|
}
|
||
|
]`
|