pull/7/head
yann300 7 years ago
parent 97ee2523b7
commit c2e117d086
  1. 6
      remix-lib/src/execution/txFormat.js
  2. 12
      remix-lib/test/txFormat.js

@ -90,7 +90,7 @@ module.exports = {
bytecodeToDeploy = bytecode + dataHex bytecodeToDeploy = bytecode + dataHex
return callback(null, {dataHex: bytecodeToDeploy, funAbi, funArgs, contractBytecode, contractName: contractName}) return callback(null, {dataHex: bytecodeToDeploy, funAbi, funArgs, contractBytecode, contractName: contractName})
} }
}, callbackStep) }, callbackStep, callbackDeployLibrary)
return return
} else { } else {
dataHex = bytecodeToDeploy + dataHex dataHex = bytecodeToDeploy + dataHex
@ -170,9 +170,9 @@ module.exports = {
return callback(null, contract.evm.bytecode.object) return callback(null, contract.evm.bytecode.object)
} }
if (contract.evm.bytecode.linkReferences && Object.keys(contract.evm.bytecode.linkReferences).length) { if (contract.evm.bytecode.linkReferences && Object.keys(contract.evm.bytecode.linkReferences).length) {
this.linkBytecodeStandard(contract, contracts, callback, callbackStep) this.linkBytecodeStandard(contract, contracts, callback, callbackStep, callbackDeployLibrary)
} else { } else {
this.linkBytecodeLegacy(contract, contracts, callback, callbackStep) this.linkBytecodeLegacy(contract, contracts, callback, callbackStep, callbackDeployLibrary)
} }
}, },

@ -39,21 +39,21 @@ tape('ContractParameters - (TxFormat.buildData) - link Libraries', function (t)
lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2: '0xf7a10e525d4b168f45f74db1b61f63d3e7619e33', lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2: '0xf7a10e525d4b168f45f74db1b61f63d3e7619e33',
testContractLinkLibrary: '0xf7a10e525d4b168f45f74db1b61f63d3e7619e22' testContractLinkLibrary: '0xf7a10e525d4b168f45f74db1b61f63d3e7619e22'
} }
var udapp = { runTx: (param, callback) => { var callbackDeployLibraries = (param, callback) => {
callback(null, { callback(null, {
result: { result: {
createdAddress: fakeDeployedContracts[param.data.contractName] createdAddress: fakeDeployedContracts[param.data.contractName]
} }
}) })
} } // fake } // fake
context = { output, contract, udapp } context = { output, contract }
t.test('(TxFormat.buildData and link library (standard way))', function (st) { t.test('(TxFormat.buildData and link library (standard way))', function (st) {
st.plan(6) st.plan(6)
testLinkLibrary(st, fakeDeployedContracts) testLinkLibrary(st, fakeDeployedContracts, callbackDeployLibraries)
}) })
}) })
function testLinkLibrary (st, fakeDeployedContracts) { function testLinkLibrary (st, fakeDeployedContracts, callbackDeployLibraries) {
var deployMsg = ['creation of library test.sol:lib1 pending...', var deployMsg = ['creation of library test.sol:lib1 pending...',
'creation of library test.sol:lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2 pending...'] 'creation of library test.sol:lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2_lib2 pending...']
txFormat.buildData('testContractLinkLibrary', context.contract, context.output.contracts, true, context.contract.abi[0], '', (error, data) => { txFormat.buildData('testContractLinkLibrary', context.contract, context.output.contracts, true, context.contract.abi[0], '', (error, data) => {
@ -70,7 +70,7 @@ function testLinkLibrary (st, fakeDeployedContracts) {
}, (msg) => { }, (msg) => {
st.equal(msg, deployMsg[0]) st.equal(msg, deployMsg[0])
deployMsg.shift() deployMsg.shift()
}, () => {}) }, callbackDeployLibraries)
} }
var uintContract = `contract uintContractTest { var uintContract = `contract uintContractTest {

Loading…
Cancel
Save