remix-project mirror
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.
 
 
 
 
 
remix-project/libs/remix-lib/test/txHelper.ts

155 lines
2.5 KiB

'use strict'
import tape from 'tape'
import * as txHelper from '../src/execution/txHelper'
tape('getFunction', function (st) {
st.plan(6)
let fn = txHelper.getFunction(JSON.parse(abi), 'o((address,uint256))')
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')
fn = txHelper.getReceiveInterface(JSON.parse(abi))
st.equal(fn.type, 'receive')
})
const abi = `[
{
"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"
},
{
"payable": true,
"stateMutability": "payable",
"type": "receive"
}
]`