diff --git a/contracts/asset-proxy/test/static_call_proxy.ts b/contracts/asset-proxy/test/static_call_proxy.ts index a1cf95a4d3..09db4ebe82 100644 --- a/contracts/asset-proxy/test/static_call_proxy.ts +++ b/contracts/asset-proxy/test/static_call_proxy.ts @@ -43,7 +43,13 @@ describe('StaticCallProxy', () => { txDefaults, artifacts, ); - staticCallProxy = new IAssetProxyContract(staticCallProxyWithoutTransferFrom.address, provider, txDefaults); + staticCallProxy = new IAssetProxyContract( + staticCallProxyWithoutTransferFrom.address, + provider, + txDefaults, + {}, + StaticCallProxyContract.deployedBytecode, + ); staticCallTarget = await TestStaticCallTargetContract.deployFrom0xArtifactAsync( artifacts.TestStaticCallTarget, provider, diff --git a/packages/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index c5e475a05c..81feeb5df0 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.json +++ b/packages/abi-gen-wrappers/CHANGELOG.json @@ -5,6 +5,10 @@ { "note": "Use V3 contracts", "pr": 2181 + }, + { + "note": "Hardcode bytecode for local EVM execution", + "pr": 2198 } ] }, diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index 8c43dd879d..1e672c5d7f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -119,6 +119,8 @@ export interface AssetProxyOwnerRequirementChangeEventArgs extends DecodedLogArg // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class AssetProxyOwnerContract extends BaseContract { + public static deployedBytecode = + '0x6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b50565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612589565b610569565b6040516102259190612622565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612304565b61059d565b34801561025a57600080fd5b506101f6610269366004612589565b61084c565b34801561027a57600080fd5b5061028e610289366004612304565b6109a7565b6040516102259190612751565b3480156102a757600080fd5b5061028e6102b63660046125a2565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b50565b3480156102e957600080fd5b506102d06102f83660046124c5565b6109e2565b34801561030957600080fd5b506101f6610318366004612304565b610a4e565b34801561032957600080fd5b506101f66103383660046124fa565b610c73565b34801561034957600080fd5b5061028e610358366004612589565b610cbe565b34801561036957600080fd5b506101f6610378366004612589565b610d52565b34801561038957600080fd5b5061039d61039836600461256b565b610dcb565b60405161022592919061275c565b3480156103b757600080fd5b506102d06103c6366004612589565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612589565b610e80565b6040516102259493929190612643565b34801561040757600080fd5b50610410610f69565b60405161022591906126c0565b34801561042957600080fd5b5061043d6104383660046125c7565b610fd9565b6040516102259190612719565b34801561045657600080fd5b50610410610465366004612589565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612589565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612589565b61139e565b3480156104cb57600080fd5b506102d06104da36600461235a565b611568565b3480156104eb57600080fd5b506102d06104fa366004612589565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f6610544366004612321565b6115a4565b34801561055557600080fd5b506101f6610564366004612589565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612961565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b50565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b50565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061292a565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128bc565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612aab565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128f3565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ef565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612998565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc9190612606565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129cf565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a90879061277e565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b50565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a3d565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061284e565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b84848460405160240161205393929190612809565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127e7565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b80565b612b59565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c10565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b80565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122ce57600080fd5b81516122dc6121f682612ba1565b91508082528360208285010111156122f357600080fd5b610a47816020840160208601612be4565b60006020828403121561231657600080fd5b813561158081612c10565b6000806040838503121561233457600080fd5b823561233f81612c10565b9150602083013561234f81612c10565b809150509250929050565b60008060006060848603121561236e578081fd5b833561237981612c10565b925060208401359150604084013567ffffffffffffffff81111561239b578182fd5b80850186601f8201126123ac578283fd5b803591506123bc6121f683612ba1565b8281528760208484010111156123d0578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612403578283fd5b835167ffffffffffffffff8082111561241a578485fd5b81860187601f82011261242b578586fd5b8051925061243b6121f684612b80565b83815260208082019190838101895b87811015612473576124618d8484518901016122bd565b8552938201939082019060010161244a565b5050890151909750935050508082111561248c57600080fd5b612498878388016121d8565b935060408601519150808211156124ae57600080fd5b506124bb8682870161224f565b9150509250925092565b600080604083850312156124d857600080fd5b6124e284846122ad565b91506124f184602085016122ad565b90509250929050565b6000806000806080858703121561251057600080fd5b843561251b81612c35565b9350602085013561252b81612c43565b9250604085013561253b81612c10565b915060608501356fffffffffffffffffffffffffffffffff8116811461256057600080fd5b939692955090935050565b6000806040838503121561257e57600080fd5b823561233f81612c43565b60006020828403121561259b57600080fd5b5035919050565b600080604083850312156125b557600080fd5b82359150602083013561234f81612c10565b600080600080608085870312156125dd57600080fd5b843593506020850135925060408501356125f681612c35565b9150606085013561256081612c35565b60008251612618818460208701612be4565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126848160a0850160208801612be4565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270e57835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126da565b509095945050505050565b602080825282518282018190526000918401906040840190835b8181101561270e578351835260209384019390920191600101612733565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127f557fe5b938152602081019290925260409091015290565b60608101600885106127f557fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b7857600080fd5b604052919050565b600067ffffffffffffffff821115612b9757600080fd5b5060209081020190565b600067ffffffffffffffff821115612bb857600080fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bff578181015183820152602001612be7565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c3257600080fd5b50565b8015158114612c3257600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c3257600080fdfea365627a7a72315820bb1f30e992934207b8916f6401189d7cb77f607b1c12d13a42dd49e7cb99e91a6c6578706572696d656e74616cf564736f6c634300050b0040'; public owners = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -4405,6 +4407,7 @@ export class AssetProxyOwnerContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = AssetProxyOwnerContract.deployedBytecode, ) { super( 'AssetProxyOwner', @@ -4413,6 +4416,7 @@ export class AssetProxyOwnerContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index 562aa0d0ed..b551fb32ae 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -28,6 +28,7 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class CoordinatorContract extends BaseContract { + public static deployedBytecode: string | undefined; /** * Recovers the address of a signer given a hash and signature. */ @@ -1491,8 +1492,17 @@ export class CoordinatorContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = CoordinatorContract.deployedBytecode, ) { - super('Coordinator', CoordinatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'Coordinator', + CoordinatorContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index 8aeafd5435..67de768648 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -46,6 +46,7 @@ export interface CoordinatorRegistryCoordinatorEndpointSetEventArgs extends Deco // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class CoordinatorRegistryContract extends BaseContract { + public static deployedBytecode: string | undefined; /** * Called by a Coordinator operator to set the endpoint of their Coordinator. */ @@ -528,6 +529,7 @@ export class CoordinatorRegistryContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = CoordinatorRegistryContract.deployedBytecode, ) { super( 'CoordinatorRegistry', @@ -536,6 +538,7 @@ export class CoordinatorRegistryContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts index 77bc18ad79..65079e3df6 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts @@ -28,6 +28,8 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DevUtilsContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f366004614a03565b61069f565b6040516102829291906152ef565b60405180910390f35b61029e610299366004614a03565b6106fb565b60405161028293929190615392565b6102c06102bb366004614572565b6107a9565b60405161028292919061529d565b6102e16102dc366004614a03565b6107cb565b604051610282939291906154cd565b6103036102fe366004614572565b610828565b604051610282919061573d565b61032361031e366004614a03565b610850565b604051610282939291906152c4565b6102c0610340366004614a03565b610897565b610358610353366004614a03565b6108d9565b60405161028293929190615443565b61037a610375366004614a03565b61092c565b6040516102829493929190615263565b61039d610398366004614a03565b610976565b6040516102829291906154b6565b6103be6103b9366004614496565b6109cc565b60405161028291906151fd565b6103de6103d9366004614363565b610a4f565b60405161028291906153f2565b6103fe6103f9366004614a03565b610ad3565b60405161028293929190614ffa565b61042061041b366004614a03565b610b0d565b6040516102829493929190615540565b61044361043e366004614a03565b61164e565b60405161028292919061530c565b61046461045f366004614a03565b611686565b604051610282929190614fe0565b610303610480366004614572565b6116be565b610443610493366004614a03565b611dd3565b6104ab6104a6366004614a03565b611e63565b60405161028294939291906154fc565b6104ce6104c9366004614a03565b611ec4565b60405161028295949392919061532f565b6103be6104ed3660046145e4565b611f6f565b61050561050036600461464e565b611fe8565b6040516102829190615114565b6103de6105203660046145b8565b6120ac565b610538610533366004614a03565b612133565b6040516102829493929190615070565b6103de6105563660046144e6565b61216f565b61056e610569366004614a03565b6121fc565b604051610282939291906153bd565b61059061058b366004614a03565b6122a9565b6040516102829291906152ab565b6105b16105ac366004614a03565b6122e2565b604051610282929190615533565b6103be6105cd366004614496565b612330565b6103036105e0366004614572565b61239e565b6105f86105f3366004614ac0565b6129e1565b60405161028291906154e8565b6103de6106133660046147f9565b612f7e565b61062b6106263660046146d2565b612fb6565b60405161028293929190615161565b61064d610648366004614496565b6130ee565b60405161028292919061523e565b61066e610669366004614b1a565b613107565b604051610282939291906156e1565b61069061068b366004614a03565b613349565b6040516102829392919061548c565b6000806106b3836106ae613386565b6133aa565b60006106cc60048551866134049092919063ffffffff16565b8060200190516106df91908101906149b3565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61344716565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b60405180910390fd5b61078e84601063ffffffff61347b16565b91506107a184602463ffffffff6134ae16565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134ba565b60006107f560048651876134049092919063ffffffff16565b8060200190516108089190810190614d58565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134de565b925050505b92915050565b6000606080610861846106ae6134f4565b835161087790859060049063ffffffff61340416565b80602001905161088a9190810190614953565b9196909550909350915050565b6000806108a6836106ae613518565b82516108bc90849060049063ffffffff61340416565b8060200190516108cf91908101906148f2565b9094909350915050565b60008060606108ea846106ae61353c565b600061090360048651876134049092919063ffffffff16565b8060200190516109169190810190614d0a565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613560565b845161095490869060049063ffffffff61340416565b80602001905161096791908101906148ac565b92989197509550909350915050565b600080610985836106ae613584565b600061099e60048551866134049092919063ffffffff16565b8060200190516109b19190810190614c39565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fcc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a8565b8351610afa90859060049063ffffffff61340416565b80602001905161088a91908101906143ba565b60608080806000610b24868263ffffffff61344716565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061563c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615605565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135cc16565b80602001905161117f9190810190614619565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c8661364c565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c98565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135cc16565b8060200190516113059190810190614a8b565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c8661367b565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c86613775565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c98565b6114e8613c98565b60608061150260048b518c6135cc9092919063ffffffff16565b8060200190516115159190810190614b74565b604080516002808252606082019092529498509296509094509250816020015b61153d613c98565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e9565b825161167390849060049063ffffffff61340416565b8060200190516108cf91908101906149d8565b600080611695836106ae61380d565b82516116ab90849060049063ffffffff61340416565b8060200190516108cf9190810190614380565b6000806116d1838263ffffffff61344716565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347b16565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fcc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614fb0565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134ae16565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c090849060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614fb0565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347b16565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a859291906150a4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614fb0565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134ae16565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c3390869060009081908190602401615405565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614fb0565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61344716565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b611e5c83601063ffffffff61347b16565b9050915091565b60008060006060611e76856106ae613831565b6000611e8f60048751886134049092919063ffffffff16565b806020019051611ea29190810190614caa565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61344716565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e490859085906024016150a4565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae613855565b845161215c90869060049063ffffffff61340416565b80602001905161096791908101906143fd565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab90879087908790879060240161501e565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61344716565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b835161228c90859060049063ffffffff6135cc16565b80602001905161229f9190810190614830565b9395909450915050565b600060606122b9836106ae613879565b82516122cf90849060049063ffffffff61340416565b8060200190516108cf9190810190614916565b6000806122f1836106ae61389d565b600061230a60048551866134049092919063ffffffff16565b80602001905161231d9190810190614c39565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61344716565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347b16565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fe0565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614fb0565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134ae16565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e90879060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614fb0565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347b16565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614fb0565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134ae16565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d2b565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614c20565b3a6138c1565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150bd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614fb0565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61344716565b9050612e9061353c565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134f4565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155ce565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615210565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d5a565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d5a565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b990613159908890600401615705565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a38565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb9089908990600401615718565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061488a565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393816565b156132ba576132b3846132ad848d6080015161395d90919063ffffffff16565b85613979565b905061331b565b60006132cb868c6101800151610828565b9050826132e8576132e1858c6080015186613979565b9150613319565b60006132f9868d6080015187613979565b90506000613308838688613979565b905061331482826134de565b935050505b505b61333b6133358960400151856139a390919063ffffffff16565b826134de565b965050505050509250925092565b600080600061335a846106ae6139c2565b600061337360048651876134049092919063ffffffff16565b8060200190516108089190810190614c67565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133b7836000613447565b90506001600160e01b0319808216908316146133ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615673565b505050565b6060818311156134225761342261341d600085856139e6565b613a55565b835182111561343b5761343b61341d60018487516139e6565b50819003910190815290565b600081600401835110156134685761346861341d60038551856004016139e6565b5001602001516001600160e01b03191690565b6000816014018351101561349c5761349c61341d60048551856014016139e6565b5001601401516001600160a01b031690565b60006120a58383613a5d565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134ed57816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135e5576135e561341d600085856139e6565b83518211156135fe576135fe61341d60018487516139e6565b8282036040519080825280601f01601f19166020018201604052801561362b576020820181803883390190505b5090506120a561363a82613a87565b8461364487613a87565b018351613a8d565b606080606061366860048551866135cc9092919063ffffffff16565b80602001905161088a919081019061472c565b60408051600180825281830190925260609182918291816020015b61369e613c98565b8152602001906001900390816136965750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136e7575050845190915061371490859060049063ffffffff6135cc16565b8060200190516137279190810190614bcd565b8560008151811061373457fe5b602002602001018560008151811061374857fe5b602002602001018560008151811061375c57fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137b19186915060049063ffffffff6135cc16565b8060200190516137c491908101906147a6565b845185906000906137d157fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c9613d2b565b6020810184905260a085015160808601516138e5918691613b32565b815260a085015160c08601516138fc918691613b32565b604082015260a085015160e0860151613916918691613b32565b606082015261392b828463ffffffff613b6616565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341d60008686613b93565b600061399b8361398f868563ffffffff613b6616565b9063ffffffff613bb216565b949350505050565b6000828211156139bc576139bc61341d60028585613b93565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b848484604051602401613a05939291906154da565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7e57613a7e61341d60058551856020016139e6565b50016020015190565b60200190565b6020811015613ab7576001816020036101000a0380198351168185511680821786525050506133ff565b82821415613ac4576133ff565b82821115613afe5760208103905080820181840181515b82851015613af6578451865260209586019590940193613adb565b9052506133ff565b60208103905080820181840183515b81861215613b295782518252601f199283019290910190613b0d565b85525050505050565b6000613b3f848484613bdc565b15613b5257613b5261341d858585613c42565b61399b8361398f868563ffffffff613b6616565b600082613b755750600061084a565b82820282848281613b8257fe5b04146120a5576120a561341d600186865b606063e946c1bb60e01b848484604051602401613a059392919061546b565b600081613bc857613bc861341d60038585613b93565b6000828481613bd357fe5b04949350505050565b600082613bee57613bee61341d613c61565b811580613bf9575083155b15613c06575060006120a5565b60008380613c1057fe5b8584099050613c25858463ffffffff613b6616565b613c37826103e863ffffffff613b6616565b101595945050505050565b606063339f3de260e01b848484604051602401613a0593929190615746565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615824565b805161084a81615824565b600082601f830112613da0578081fd5b8135613db3613dae82615783565b61575c565b818152915060208083019084810181840286018201871015613dd457600080fd5b60005b84811015611dc7578135613dea81615824565b84529282019290820190600101613dd7565b600082601f830112613e0c578081fd5b8151613e1a613dae82615783565b8181529150602080830190840160005b83811015613e5757613e42876020845189010161407c565b83526020928301929190910190600101613e2a565b5050505092915050565b600082601f830112613e71578081fd5b8135613e7f613dae82615783565b8181529150602080830190840160005b83811015613e5757613ea7876020843589010161402e565b83526020928301929190910190600101613e8f565b600082601f830112613ecc578081fd5b8151613eda613dae82615783565b8181529150602080830190840160005b83811015613e5757613f028760208451890101614211565b83526020928301929190910190600101613eea565b600082601f830112613f27578081fd5b8135613f35613dae82615783565b8181529150602080830190840160005b83811015613e5757613f5d87602084358901016140c3565b83526020928301929190910190600101613f45565b600082601f830112613f82578081fd5b8151613f90613dae82615783565b818152915060208083019084810181840286018201871015613fb157600080fd5b60005b84811015611dc757815184529282019290820190600101613fb4565b600082601f830112613fe0578081fd5b8135613fee613dae82615783565b81815291506020808301908481018184028601820187101561400f57600080fd5b60005b84811015611dc757813584529282019290820190600101614012565b600082601f83011261403e578081fd5b813561404c613dae826157a4565b915080825283602082850101111561406357600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011261408d57600080fd5b815161409b613dae826157a4565b91508082528360208285010111156140b257600080fd5b611dcc8160208401602086016157c9565b60006101c08083850312156140d6578182fd5b6140df8161575c565b91505060006140ee8484613d7a565b82526140fd8460208501613d7a565b602083015261410f8460408501613d7a565b60408301526141218460608501613d7a565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff80821115614182578384fd5b61418e8783880161402e565b838601526101609250828601359150808211156141a9578384fd5b6141b58783880161402e565b838601526101809250828601359150808211156141d0578384fd5b6141dc8783880161402e565b838601526101a09250828601359150808211156141f7578384fd5b506142048682870161402e565b8285015250505092915050565b60006101c0808385031215614224578182fd5b61422d8161575c565b915050600061423c8484613d85565b825261424b8460208501613d85565b602083015261425d8460408501613d85565b604083015261426f8460608501613d85565b60608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015167ffffffffffffffff808211156142d0578384fd5b6142dc8783880161407c565b838601526101609250828601519150808211156142f7578384fd5b6143038783880161407c565b8386015261018092508286015191508082111561431e578384fd5b61432a8783880161407c565b838601526101a0925082860151915080821115614345578384fd5b506142048682870161407c565b805160ff8116811461084a57600080fd5b60006020828403121561437557600080fd5b81356120a581615824565b6000806040838503121561439357600080fd5b825161439e81615824565b60208401519092506143af81615824565b809150509250929050565b6000806000606084860312156143cf57600080fd5b83516143da81615824565b60208501519093506143eb81615824565b80925050604084015190509250925092565b60008060008060808587031215614412578182fd5b845161441d81615824565b602086015190945067ffffffffffffffff8082111561443a578384fd5b6144468883890161407c565b9450604087015191508082111561445b578384fd5b6144678883890161407c565b9350606087015191508082111561447d57600080fd5b5061448a8782880161407c565b91505092959194509250565b600080604083850312156144a957600080fd5b82356144b481615824565b9150602083013567ffffffffffffffff8111156144d057600080fd5b6144dc85828601613e61565b9150509250929050565b600080600080608085870312156144fb578182fd5b843561450681615824565b9350602085013567ffffffffffffffff80821115614522578384fd5b61452e88838901613fd0565b94506040870135915080821115614543578384fd5b61454f88838901613fd0565b9350606087013591508082111561456557600080fd5b5061448a8782880161402e565b6000806040838503121561458557600080fd5b823561459081615824565b9150602083013567ffffffffffffffff8111156145ac57600080fd5b6144dc8582860161402e565b600080604083850312156145cb57600080fd5b82356145d681615824565b946020939093013593505050565b6000602082840312156145f657600080fd5b813567ffffffffffffffff81111561460d57600080fd5b61399b84828501613d90565b60006020828403121561462b57600080fd5b815167ffffffffffffffff81111561464257600080fd5b61399b84828501613ebc565b600080600060608486031215614662578081fd5b833567ffffffffffffffff80821115614679578283fd5b61468587838801613f17565b9450602086013591508082111561469a578283fd5b6146a687838801613d90565b935060408601359150808211156146bb578283fd5b506146c886828701613fd0565b9150509250925092565b600080604083850312156146e557600080fd5b823567ffffffffffffffff808211156146fd57600080fd5b61470986838701613f17565b9350602085013591508082111561471f57600080fd5b506144dc85828601613e61565b600080600060608486031215614740578081fd5b835167ffffffffffffffff80821115614757578283fd5b61476387838801613ebc565b94506020860151915080821115614778578283fd5b61478487838801613f72565b93506040860151915080821115614799578283fd5b506146c886828701613dfc565b6000806000606084860312156147ba578081fd5b835167ffffffffffffffff808211156147d1578283fd5b6147dd87838801613ebc565b9450602086015193506040860151915080821115614799578283fd5b6000806040838503121561480c57600080fd5b823567ffffffffffffffff8082111561482457600080fd5b61470986838701613fd0565b6000806040838503121561484357600080fd5b825167ffffffffffffffff8082111561485b57600080fd5b61486786838701613f72565b9350602085015191508082111561487d57600080fd5b506144dc85828601613dfc565b60006020828403121561489c57600080fd5b815180151581146120a557600080fd5b600080600080608085870312156148c257600080fd5b8451935060208501516148d481615824565b604086015190935067ffffffffffffffff8082111561445b57600080fd5b6000806040838503121561490557600080fd5b505080516020909101519092909150565b6000806040838503121561492957600080fd5b82519150602083015167ffffffffffffffff81111561494757600080fd5b6144dc8582860161407c565b600080600060608486031215614967578081fd5b83519250602084015167ffffffffffffffff80821115614985578283fd5b6149918783880161407c565b935060408601519150808211156149a6578283fd5b506146c88682870161407c565b600080604083850312156149c657600080fd5b8251915060208301516143af81615839565b600080604083850312156149eb57600080fd5b82516001600160e01b03198116811461439e57600080fd5b600060208284031215614a1557600080fd5b813567ffffffffffffffff811115614a2c57600080fd5b61399b8482850161402e565b60006060828403128015614a4b57600080fd5b8015614a5657600080fd5b50614a61606061575c565b8251614a6c81615839565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a9d57600080fd5b815167ffffffffffffffff811115614ab457600080fd5b61399b84828501614211565b600080600060608486031215614ad557600080fd5b833567ffffffffffffffff811115614aec57600080fd5b614af8868287016140c3565b9350506020840135614b0981615824565b929592945050506040919091013590565b60008060408385031215614b2d57600080fd5b823567ffffffffffffffff80821115614b4557600080fd5b614b51868387016140c3565b93506020850135915080821115614b6757600080fd5b506144dc8582860161402e565b60008060008060808587031215614b89578182fd5b845167ffffffffffffffff80821115614ba0578384fd5b614bac88838901614211565b95506020870151915080821115614bc1578384fd5b61444688838901614211565b600080600060608486031215614be1578081fd5b835167ffffffffffffffff80821115614bf8578283fd5b614c0487838801614211565b94506020860151935060408601519150808211156149a6578283fd5b600060208284031215614c3257600080fd5b5051919050565b60008060408385031215614c4c57600080fd5b8251614c5781615839565b6020939093015192949293505050565b600080600060608486031215614c7c57600080fd5b8351614c8781615839565b602085015160408601519194509250614c9f81615824565b809150509250925092565b60008060008060808587031215614cc057600080fd5b614cca8686614352565b9350602085015192506040850151614ce181615824565b606086015190925067ffffffffffffffff811115614cfe57600080fd5b61448a8782880161407c565b600080600060608486031215614d1f57600080fd5b614d298585614352565b925060208401519150604084015167ffffffffffffffff811115614d4c57600080fd5b6146c88682870161407c565b600080600060608486031215614d6d57600080fd5b614d778585614352565b925060208401519150604084015190509250925092565b6001600160a01b03169052565b600081518084526020840193506020830160005b82811015614dd65781516001600160a01b0316865260209586019590910190600101614daf565b5093949350505050565b60008151808452602084019350836020820285016020850160005b84811015614e29578383038852614e13838351614e67565b6020988901989093509190910190600101614dfb565b50909695505050505050565b600081518084526020840193506020830160005b82811015614dd6578151865260209586019590910190600101614e49565b60008151808452614e7f8160208601602086016157c9565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ebf848451614d8e565b6020830151614ed16020860182614d8e565b506040830151614ee46040860182614d8e565b506060830151614ef76060860182614d8e565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f5083870182614e67565b91505061016091508184015185820383870152614f6d8282614e67565b925050506101808084015185830382870152614f898382614e67565b9150506101a091508184015185820383870152614fa68282614e67565b9695505050505050565b60008251614fc28184602087016157c9565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150406080830186614e35565b82810360408401526150528186614e35565b83810360608501526150648186614e67565b98975050505050505050565b60006001600160a01b0386168252608060208301526150926080830186614e67565b82810360408401526150528186614e67565b6001600160a01b03929092168252602082015260400190565b6000608082526150d06080830187614de0565b82810360208401526150e28187614d9b565b83810360408501526150f48187614d9b565b91505082810360608401526151098185614e35565b979650505050505050565b602080825282518282018190526000918401906040840190835b818110156151565783516005811061514257fe5b83526020938401939092019160010161512e565b509095945050505050565b606080825284519082018190526000906020906080840190828801845b828110156151a457615191848351614e93565b606093909301929084019060010161517e565b505050838103828501526151b88187614e35565b8481036040860152855180825290830191508286019060005b818110156151ef5782511515845292840192918401916001016151d1565b509198975050505050505050565b6000602082526120a56020830184614e35565b6000604082526152236040830185614e35565b82810360208401526152358185614de0565b95945050505050565b6000604082526152516040830185614e35565b82810360208401526152358185614e35565b60008582526001600160a01b03851660208301526080604083015261528b6080830185614e67565b82810360608401526151098185614e67565b918252602082015260400190565b60008382526040602083015261399b6040830184614e67565b6000848252606060208301526152dd6060830185614e67565b8281036040840152614fa68185614e67565b828152604081016152ff8361581a565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261536160a0830186614e35565b82810360608401526153738186614e35565b83810360808501526153858186614e67565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153e06060830185614e35565b8281036040840152614fa68185614de0565b6000602082526120a56020830184614e67565b6000608082526154186080830187614e67565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b600061544e856157f9565b848252836020830152606060408301526152356060830184614e67565b6060810161547885615806565b938152602081019290925260409091015290565b6060810161549985615810565b93815260208101929092526001600160a01b031660409091015290565b604081016154c384615806565b9281526020015290565b6060810161547885615810565b606081016008851061547857fe5b60208101600583106154f657fe5b91905290565b60006155078661581a565b8582528460208301526001600160a01b038416604083015260806060830152614fa66080830184614e67565b604081016154c3846157f9565b6000608082526155536080830187614e67565b602083820381850152818751808452828401915082838202850101838a0160005b838110156155a257601f19878403018552615590838351614eaf565b94860194925090850190600101615574565b505086810360408801526155b6818a614e35565b94505050505082810360608401526151098185614de0565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156ef8286614e93565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614eaf565b60006040825261572b6040830185614eaf565b82810360208401526152358185614e67565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561577b57600080fd5b604052919050565b600067ffffffffffffffff82111561579a57600080fd5b5060209081020190565b600067ffffffffffffffff8211156157bb57600080fd5b50601f01601f191660200190565b60005b838110156157e45781810151838201526020016157cc565b838111156157f3576000848401525b50505050565b6002811061580357fe5b50565b6004811061580357fe5b6003811061580357fe5b6007811061580357fe5b6001600160a01b038116811461580357600080fd5b60ff8116811461580357600080fdfea365627a7a723158201ab0df552a90270f9016034474cd1d64aa95114e9afa9f3f8eab4fba05cab17f6c6578706572696d656e74616cf564736f6c634300050b0040'; /** * Decompose an ABI-encoded OrderStatusError. */ @@ -5508,8 +5510,17 @@ export class DevUtilsContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = DevUtilsContract.deployedBytecode, ) { - super('DevUtils', DevUtilsContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'DevUtils', + DevUtilsContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index f40d84eaa2..fd781df5bf 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -54,6 +54,8 @@ export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC20TokenContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a7231582048f12e09956970bb2ea9ac1c269cfc1461e3d04ec4abe272f0dc27847b67fd7b64736f6c634300050b0032'; public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -2388,6 +2390,7 @@ export class DummyERC20TokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = DummyERC20TokenContract.deployedBytecode, ) { super( 'DummyERC20Token', @@ -2396,6 +2399,7 @@ export class DummyERC20TokenContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index f43ece36c7..6ca7d756c3 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -64,6 +64,8 @@ export interface DummyERC721TokenApprovalForAllEventArgs extends DecodedLogArgs // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC721TokenContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820d2658e4dc2a912c525b87a6923225d490fab7718c5313e17fd27e60da72791a964736f6c634300050b0032'; public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -2924,6 +2926,7 @@ export class DummyERC721TokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = DummyERC721TokenContract.deployedBytecode, ) { super( 'DummyERC721Token', @@ -2932,6 +2935,7 @@ export class DummyERC721TokenContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 4bfdb528a7..24bb4d63e6 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -28,6 +28,7 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DutchAuctionContract extends BaseContract { + public static deployedBytecode: string | undefined; /** * Calculates the Auction Details for the given order */ @@ -1259,6 +1260,7 @@ export class DutchAuctionContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = DutchAuctionContract.deployedBytecode, ) { super( 'DutchAuction', @@ -1267,6 +1269,7 @@ export class DutchAuctionContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts index 8dd0995b1f..70f3a5d87f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts @@ -54,6 +54,8 @@ export interface ERC1155ProxyAuthorizedAddressRemovedEventArgs extends DecodedLo // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC1155ProxyContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820fe872ed3d3432bbfc079065233c969df447efbf7b8fe712b4bbb50811d2923ef64736f6c634300050b0032'; /** * Authorizes an address. */ @@ -1794,6 +1796,7 @@ export class ERC1155ProxyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ERC1155ProxyContract.deployedBytecode, ) { super( 'ERC1155Proxy', @@ -1802,6 +1805,7 @@ export class ERC1155ProxyContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index 6ab6e13cb6..8d6983fe94 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -54,6 +54,8 @@ export interface ERC20ProxyAuthorizedAddressRemovedEventArgs extends DecodedLogA // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC20ProxyContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820c5ce0dbe92e2139c196bb31dc82b13c5afca344ba46522aeac0f36465e5fcfb364736f6c634300050b0032'; /** * Authorizes an address. */ @@ -1513,8 +1515,17 @@ export class ERC20ProxyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ERC20ProxyContract.deployedBytecode, ) { - super('ERC20Proxy', ERC20ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'ERC20Proxy', + ERC20ProxyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC20ProxyContract.ABI(), diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index c49716bfec..ffdc84932f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -54,6 +54,8 @@ export interface ERC20TokenApprovalEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC20TokenContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a72315820a8be845157409b80a426219f30a11309977ab023952976f504aad6eb0ede15d164736f6c634300050b0032'; /** * `msg.sender` approves `_spender` to spend `_value` tokens */ @@ -1289,8 +1291,17 @@ export class ERC20TokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ERC20TokenContract.deployedBytecode, ) { - super('ERC20Token', ERC20TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'ERC20Token', + ERC20TokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC20TokenContract.ABI(), diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index ad1e51e695..6ad8d36836 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -54,6 +54,8 @@ export interface ERC721ProxyAuthorizedAddressRemovedEventArgs extends DecodedLog // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721ProxyContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a72315820e7145a4c326620ba21f0ed50193ff09c1d129a02d27eee7a91b601447201ec7464736f6c634300050b0032'; /** * Authorizes an address. */ @@ -1513,8 +1515,17 @@ export class ERC721ProxyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ERC721ProxyContract.deployedBytecode, ) { - super('ERC721Proxy', ERC721ProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'ERC721Proxy', + ERC721ProxyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC721ProxyContract.ABI(), diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index ea28fd8a29..0bbda77620 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -64,6 +64,8 @@ export interface ERC721TokenApprovalForAllEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721TokenContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820f8cc7429d8c597caa06c34f3bf93c1fef6ca7460ca6a4fd28f9eb5db6c9c733064736f6c634300050b0032'; /** * Throws if `_tokenId` is not a valid NFT. */ @@ -1998,8 +2000,17 @@ export class ERC721TokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ERC721TokenContract.deployedBytecode, ) { - super('ERC721Token', ERC721TokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'ERC721Token', + ERC721TokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ERC721TokenContract.ABI(), diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index faee45067f..82b0d87bcf 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -28,6 +28,8 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class EthBalanceCheckerContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a723158208e3ee4f32e855ae8a6648cee5637fa515aca850035f9a1a43d11706388208ad064736f6c634300050b0032'; /** * Batch fetches ETH balances */ @@ -214,6 +216,7 @@ export class EthBalanceCheckerContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = EthBalanceCheckerContract.deployedBytecode, ) { super( 'EthBalanceChecker', @@ -222,6 +225,7 @@ export class EthBalanceCheckerContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index ed42c12448..114f4c0cf1 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -113,6 +113,8 @@ export interface ExchangeCancelUpToEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ExchangeContract extends BaseContract { + public static deployedBytecode = + '0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e6c565b61076a565b60405161030391906154de565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154e9565b61034161033c36600461511e565b610785565b60405161030391906156bb565b34801561035a57600080fd5b50610321610369366004614e6c565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e6c565b6107d9565b6103a161039c366004614f92565b6107ee565b005b6103b66103b1366004614d67565b610812565b60405161030391906159de565b6103a16103d1366004614e6c565b610939565b6103a16103e4366004614e6c565b6109ac565b3480156103f557600080fd5b50610409610404366004614ef9565b610ab9565b6040516103039190615374565b610429610424366004614c46565b610b07565b6040516103039190615967565b610429610444366004614c46565b610b3f565b6103a1610457366004614b2b565b610b5d565b6103b661046a366004614d67565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614eaa565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e85565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f2366004615021565b610e2b565b60405161030391906159ec565b6103b6610512366004614d67565b610e49565b34801561052357600080fd5b506102f661053236600461511e565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614ce3565b610ebe565b60405161030391906154cb565b34801561057857600080fd5b506103a1610587366004614e6c565b610fe9565b61055f61059a366004614ce3565b611031565b6103b66105ad3660046150be565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f92565b61111d565b6040516103039190615a2e565b3480156105eb57600080fd5b506102f66105fa366004614fc7565b611201565b6103b661060d366004614d67565b611226565b34801561061e57600080fd5b506103a161062d366004614b68565b61125a565b6104f7610640366004615021565b611306565b61055f610653366004614ce3565b611324565b34801561066457600080fd5b506103a1610673366004614ada565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614ada565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b6040516103039190615646565b6103a16106fd366004614c11565b611657565b6103b66107103660046150be565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614ada565b6116d0565b61075d610758366004614dba565b611748565b604051610303919061544c565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154e9565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154de565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d6003548260405161102492919061555d565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615930565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff909116908490615395565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f16565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615673565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556080870151905160609130916119209190615327565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a74565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe9190615327565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f33565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153bc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b90506000600188858585604051600081526020016040526040516123719493929190615628565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b905060006001886040516020016124689190615343565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516123719493929190615628565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d61939291906158b9565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156ce565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c9190615327565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615673565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a4392919061556b565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b929091903390615736565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615861565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d919061584e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e0000000000000000000000000000000000000000000000000000000090613024908890879060240161556b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc9190615327565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615782565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a9f565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a43929190615395565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a52565b606063488219a660e01b848484604051602401611d6193929190615826565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d6193929190615584565b606063f598518460e01b8383604051602401612a43929190615919565b606063a26dac0960e01b848484604051602401611d6193929190615612565b606063dec4aedf60e01b8383604051602401612a439291906154f2565b606063e53c76c860e01b848484604051602401611d6193929190615882565b6060632800659560e01b848484604051602401611d61939291906158c6565b9052565b6060631b8388f760e01b8585858560405160240161221e9493929190615516565b606063fdb6ca8d60e01b8383604051602401612a439291906155af565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a4392919061555d565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a43929190615395565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb39088908890602401615711565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b9190615327565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d6193929190615612565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff1684846040516143919190615327565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153ed565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155cd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b30565b615b09565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b30565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b30565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b30565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615b09565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615b09565b915050600061493d84846146d3565b825261494c84602085016146d3565b602083015261495e84604085016146d3565b604083015261497084606085016146d3565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff808211156149d1578384fd5b6149dd8783880161488b565b838601526101609250828601359150808211156149f8578384fd5b614a048783880161488b565b83860152610180925082860135915080821115614a1f578384fd5b614a2b8783880161488b565b838601526101a0925082860135915080821115614a46578384fd5b50614a538682870161488b565b8285015250505092915050565b600060a08284031215614a71578081fd5b614a7b60a0615b09565b90508135815260208201356020820152604082013560408201526060820135614aa381615b9b565b6060820152608082013567ffffffffffffffff811115614ac257600080fd5b614ace8482850161488b565b60808301525092915050565b600060208284031215614aec57600080fd5b61093283836146d3565b60008060408385031215614b0957600080fd5b614b1384846146d3565b9150614b2284602085016146d3565b90509250929050565b60008060408385031215614b3e57600080fd5b614b4884846146d3565b915060208301358015158114614b5d57600080fd5b809150509250929050565b60008060008060808587031215614b7d578182fd5b843567ffffffffffffffff80821115614b94578384fd5b614ba08883890161476d565b95506020870135915080821115614bb5578384fd5b614bc1888389016146f7565b94506040870135915080821115614bd6578384fd5b614be2888389016146f7565b93506060870135915080821115614bf857600080fd5b50614c058782880161482d565b91505092959194509250565b600060208284031215614c2357600080fd5b813567ffffffffffffffff811115614c3a57600080fd5b610b37848285016147d2565b60008060008060808587031215614c5b578182fd5b843567ffffffffffffffff80821115614c72578384fd5b614c7e888389016147d2565b95506020870135915080821115614c93578384fd5b614c9f888389016147d2565b94506040870135915080821115614cb4578384fd5b614cc08883890161476d565b93506060870135915080821115614cd657600080fd5b50614c058782880161476d565b600080600060608486031215614cf7578081fd5b833567ffffffffffffffff80821115614d0e578283fd5b614d1a878388016147d2565b94506020860135915080821115614d2f578283fd5b614d3b8783880161482d565b93506040860135915080821115614d50578283fd5b50614d5d8682870161476d565b9150509250925092565b600080600060608486031215614d7b578081fd5b833567ffffffffffffffff80821115614d92578283fd5b614d9e878388016147d2565b9450602086013593506040860135915080821115614d50578283fd5b60008060408385031215614dcc578182fd5b823567ffffffffffffffff80821115614de3578384fd5b81850186601f820112614df4578485fd5b80359250614e0461471584615b30565b83815260208082019190838101885b87811015614e3c57614e2a8c848435890101614a60565b85529382019390820190600101614e13565b50919750880135945050505080821115614e5557600080fd5b50614e628582860161476d565b9150509250929050565b600060208284031215614e7e57600080fd5b5035919050565b60008060408385031215614e9857600080fd5b823591506020830135614b5d81615b9b565b600080600060608486031215614ebf57600080fd5b833592506020840135614ed181615b9b565b9150604084013567ffffffffffffffff811115614eed57600080fd5b614d5d8682870161488b565b600060208284031215614f0b57600080fd5b813561093281615bbd565b600060208284031215614f2857600080fd5b815161093281615bbd565b600060a0828403128015614f4657600080fd5b8015614f5157600080fd5b50614f5c60a0615b09565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614fa457600080fd5b813567ffffffffffffffff811115614fbb57600080fd5b610b3784828501614912565b60008060408385031215614fda57600080fd5b823567ffffffffffffffff80821115614ff257600080fd5b614ffe86838701614912565b9350602085013591508082111561501457600080fd5b50614e628582860161488b565b60008060008060808587031215615036578182fd5b843567ffffffffffffffff8082111561504d578384fd5b61505988838901614912565b9550602087013591508082111561506e578384fd5b61507a88838901614912565b9450604087013591508082111561508f578384fd5b61509b8883890161488b565b935060608701359150808211156150b157600080fd5b50614c058782880161488b565b6000806000606084860312156150d2578081fd5b833567ffffffffffffffff808211156150e9578283fd5b6150f587838801614912565b9450602086013593506040860135915080821115615111578283fd5b50614d5d8682870161488b565b6000806040838503121561513157600080fd5b823567ffffffffffffffff8082111561514957600080fd5b614ffe86838701614a60565b73ffffffffffffffffffffffffffffffffffffffff169052565b600081518084526020840193506020830160005b828110156151ac57615196868351615200565b60a0959095019460209190910190600101615183565b5093949350505050565b600081518084526151ce816020860160208601615b51565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c0615240848451615155565b60208301516152526020860182615155565b5060408301516152656040860182615155565b5060608301516152786060860182615155565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152d1838701826151b6565b915050610160915081840151858203838701526152ee82826151b6565b92505050610180808401518583038287015261530a83826151b6565b9150506101a091508184015185820383870152613de282826151b6565b60008251615339818460208701615b51565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff861682526080602083015261541c60808301866151b6565b828103604084015261542e81866151b6565b838103606085015261544081866151b6565b98975050505050505050565b600060208083018184528085518083526040860191506040848202870101925083870160005b828110156154be577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526154ac8583516151b6565b94509285019290850190600101615472565b5092979650505050505050565b600060208252610932602083018461516f565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff851660208301526080604083015261554b60808301856151b6565b82810360608401526138a981856151b6565b918252602082015260400190565b600083825260406020830152610b3760408301846151b6565b60008482526060602083015261559d60608301856151b6565b8281036040840152613de281856151b6565b82815260408101600783106155c057fe5b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a08301846151b6565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60006020825261093260208301846151b6565b6000608082526156e160808301876151b6565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b60006040825261572460408301856151b6565b8281036020840152610de681856151b6565b60006060825261574960608301866151b6565b828103602084015261575b81866151b6565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b60006101608083526157968184018f6151b6565b83810360208501526157a8818f6151b6565b91505082810360408401526157bd818d6151b6565b83810360608501526157cf818d6151b6565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061583185615b7d565b84825283602083015260606040830152610de660608301846151b6565b6020810161585b83615b87565b91905290565b6060810161586e85615b87565b938152602081019290925260409091015290565b6060810161588f85615b91565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161586e85615b91565b606081016008851061586e57fe5b6000600786106158e057fe5b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de260808301846151b6565b6040810161592684615b7d565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261598360a084018261516f565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159be818361516f565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c18284615200565b600061018082019050615a00828451615200565b6020830151615a1260a0840182615200565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a656040830185615230565b90508260208301529392505050565b600060608252615a876060830186615230565b8460208401528281036040840152613de281856151b6565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615af960e08401826151b6565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b2857600080fd5b604052919050565b600067ffffffffffffffff821115615b4757600080fd5b5060209081020190565b60005b83811015615b6c578181015183820152602001615b54565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517fb1b295f2c1ed6b459ddeb95701466e4e0b385527a6cfa3873ae72a63c08466b6815295860194909452928401929092526060830152608082015260a090209056fea365627a7a72315820b1c4d22cd0ffca2fb51bd3ef00608f87b9493fa5e7633841eb15addf8d4dbc776c6578706572696d656e74616cf564736f6c634300050b0040'; public transactionsExecuted = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -13421,8 +13423,17 @@ export class ExchangeContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ExchangeContract.deployedBytecode, ) { - super('Exchange', ExchangeContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'Exchange', + ExchangeContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ExchangeContract.ABI(), diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index 6b82e3dc9a..acb9183a6b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -28,6 +28,8 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ForwarderContract extends BaseContract { + public static deployedBytecode = + '0x6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611b5e565b6101fe565b3480156100c357600080fd5b506100956100d2366004611ba0565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611ce7565b60405180910390f35b610115610110366004611ab3565b61050d565b6040516100f993929190611f9b565b610115610132366004611a36565b610565565b34801561014357600080fd5b506100956101523660046119fc565b6105e3565b60606308b1869860e01b826040516024016101729190611ce7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61065a169050565b905060405161025890611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611cbe565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611d86565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a19565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a6100906106b0565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61070a169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611d08565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611b3c565b5050505b505050565b6104b061074a565b6104a383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610793915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a61087e565b610525888888610913565b9093509150610535838686610a9b565b905061055a8860008151811061054757fe5b6020026020010151610140015183610793565b955095509592505050565b600080600061057261087e565b6000610596670de0b6b3a7640000610590888263ffffffff610c3a16565b34610c5d565b90506105a3888289610c87565b90945092506105b3848787610a9b565b91506105d8886000815181106105c557fe5b6020026020010151610140015184610793565b509450945094915050565b6105eb61074a565b73ffffffffffffffffffffffffffffffffffffffff811661061657610611610090610d9b565b610657565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000816004018351101561067b5761067b6100906003855185600401610dd2565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b6000816014018351101561072b5761072b6100906004855185601401610dd2565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610791576000546107919061009090339073ffffffffffffffffffffffffffffffffffffffff16610e77565b565b60006107a5838263ffffffff61065a16565b90506040516107b390611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561080f5761080a8383610f19565b6104a3565b60405161081b90611c6c565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156108725761080a8383611081565b6104a36100908261114e565b3461088e5761088e610090611169565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b5050505050565b82516000908190815b818114610a7c576109678760008151811061093357fe5b6020026020010151610140015188838151811061094c57fe5b602002602001015161014001516111c390919063ffffffff16565b6109a9576109a96100908860008151811061097e57fe5b6020026020010151610140015189848151811061099757fe5b602002602001015161014001516111e9565b8681815181106109b557fe5b602002602001015160800151600014806109e657508681815181106109d657fe5b602002602001015160a001516000145b156109f057610a74565b6000610a02878563ffffffff61120616565b9050600080610a388a8581518110610a1657fe5b6020026020010151898681518110610a2a57fe5b602002602001015185611225565b9092509050610a4d878363ffffffff610c3a16565b9650610a5f868263ffffffff610c3a16565b9550888610610a7057505050610a7c565b5050505b60010161091c565b5084821015610a9257610a92610090868461134e565b50935093915050565b600066b1a2bc2ec50000831115610ab857610ab86100908461136b565b34841115610acd57610acd6100908534611386565b6000610adf348663ffffffff61120616565b9050610af484670de0b6b3a764000087610c5d565b915080821115610b0b57610b0b61009083836113a3565b8015610c32576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610b67908490600401611f84565b600060405180830381600087803b158015610b8157600080fd5b505af1158015610b95573d6000803e3d6000fd5b505050506000821115610be75760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610be5573d6000803e3d6000fd5b505b6000610bf9828463ffffffff61120616565b90508015610c3057604051339082156108fc029083906000818181858888f19350505050158015610c2e573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610c5657610c56610090600086866113c0565b9392505050565b6000610c7f83610c73868563ffffffff6113df16565b9063ffffffff61141016565b949350505050565b82516000908190815b818114610d9157610ca78760008151811061093357fe5b610cbe57610cbe6100908860008151811061097e57fe5b868181518110610cca57fe5b60200260200101516080015160001480610cfb5750868181518110610ceb57fe5b602002602001015160a001516000145b15610d0557610d89565b6000610d17878663ffffffff61120616565b9050600080610d4d8a8581518110610d2b57fe5b6020026020010151898681518110610d3f57fe5b60200260200101518561143a565b9092509050610d62878363ffffffff610c3a16565b9650610d74868263ffffffff610c3a16565b9550888710610d8557505050610d91565b5050505b600101610c90565b5050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df193929190611e16565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e94929190611d2e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f2c83601063ffffffff61070a16565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5590611c95565b60405180910390203386604051602401610f70929190611d08565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ff99190611c50565b6000604051808303816000865af19150503d8060008114611036576040519150601f19603f3d011682016040523d82523d6000602084013e61103b565b606091505b50915091508161105157611051610090826114e9565b3d15611070576000915060203d14156110705760206000803e60005191505b8161090c5761090c610090826114e9565b806001146110955761109561009082611504565b60006110a883601063ffffffff61070a16565b905060006110bd84602463ffffffff61151f16565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111690309033908690600401611d55565b600060405180830381600087803b15801561113057600080fd5b505af1158015611144573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611d86565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1213e1d60000000000000000000000000000000000000000000000000000000017905290565b600081518351148015610c56575081805190602001208380519060200120149392505050565b60606356677f2c60e01b8383604051602401610e94929190611dc6565b60008282111561121f5761121f610090600285856113c0565b50900390565b6000808460e001516000148061125157506101608501516101a08601516112519163ffffffff6111c316565b156112ab57600061126b8660a0015187608001518661152b565b90506112756116bf565b611280878388611561565b905061129d81606001518260200151610c3a90919063ffffffff16565b905190935091506113469050565b6101408501516101a08601516112c69163ffffffff6111c316565b156113355760006112f68660a001516112f08860e00151896080015161120690919063ffffffff16565b8661152b565b90506113006116bf565b61130b878388611561565b60208101516060820151825191965091925061132c9163ffffffff61120616565b92505050611346565b611346610090866101a0015161167a565b935093915050565b60606391353a0c60e01b8383604051602401610e94929190611f8d565b6060631174fb8060e01b826040516024016101729190611f84565b6060635cc555c860e01b8383604051602401610e94929190611f8d565b606063ecf40fd960e01b8383604051602401610e94929190611f8d565b606063e946c1bb60e01b848484604051602401610df193929190611df4565b6000826113ee575060006106aa565b828202828482816113fb57fe5b0414610c5657610c56610090600186866113c0565b60008161142657611426610090600385856113c0565b600082848161143157fe5b04949350505050565b6000808460e001516000148061146657506101408501516101a08601516114669163ffffffff6111c316565b156114a7576114736116bf565b61147e868587611561565b60208101516060820151825191955091925061149f9163ffffffff61120616565b915050611346565b6101608501516101a08601516114c29163ffffffff6111c316565b156113355760a085015160e086015160009161126b916112f090829063ffffffff610c3a16565b6060635e7eb60f60e01b826040516024016101729190611db3565b606063baffa47460e01b826040516024016101729190611f84565b6000610c568383611695565b6000610c7f83610c7361154582600163ffffffff61120616565b611555888763ffffffff6113df16565b9063ffffffff610c3a16565b6115696116bf565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115a390879087908790602401611e24565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092178252600154815191935073ffffffffffffffffffffffffffffffffffffffff169160809184916000855af18015610c2e57825184526020830151602085015260408301516040850152606083015160608501525050509392505050565b60606331360af160e01b826040516024016101729190611db3565b600081602001835110156116b6576116b66100906005855185602001610dd2565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b80356106aa81612029565b600082601f830112611709578081fd5b813561171c61171782611fd8565b611fb1565b8181529150602080830190840160005b83811015611759576117448760208435890101611975565b8352602092830192919091019060010161172c565b5050505092915050565b600082601f830112611773578081fd5b813561178161171782611fd8565b81815291506020808301908481016000805b8582101561192057823588016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838d030112156117d2578283fd5b6117db81611fb1565b6117e78c8885016116ee565b81526117f68c604085016116ee565b878201526118078c606085016116ee565b60408201526118198c608085016116ee565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e08301526101208085013582840152610140915081850135818401525061016084013567ffffffffffffffff8082111561187c578687fd5b61188a8f8b84890101611975565b838501526101809250828601359150808211156118a5578687fd5b6118b38f8b84890101611975565b6101608501526101a08601359150808211156118cd578687fd5b6118db8f8b84890101611975565b83850152848601359250808311156118f1578687fd5b50506119018d8983870101611975565b6101a08301525087525050938301939183019160019190910190611793565b50505050505092915050565b60008083601f84011261193e57600080fd5b50813567ffffffffffffffff81111561195657600080fd5b60208301915083602082850101111561196e57600080fd5b9250929050565b600082601f830112611985578081fd5b813567ffffffffffffffff81111561199b578182fd5b6119cc60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611fb1565b91508082528360208285010111156119e357600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a0e57600080fd5b8135610c5681612029565b600060208284031215611a2b57600080fd5b8151610c5681612029565b60008060008060808587031215611a4b578283fd5b843567ffffffffffffffff80821115611a62578485fd5b611a6e88838901611763565b95506020870135915080821115611a83578485fd5b50611a90878288016116f9565b935050604085013591506060850135611aa881612029565b939692955090935050565b600080600080600060a08688031215611aca578081fd5b853567ffffffffffffffff80821115611ae1578283fd5b611aed89838a01611763565b9650602088013595506040880135915080821115611b09578283fd5b50611b16888289016116f9565b935050606086013591506080860135611b2e81612029565b809150509295509295909350565b600060208284031215611b4e57600080fd5b81518015158114610c5657600080fd5b60008060208385031215611b7157600080fd5b823567ffffffffffffffff811115611b8857600080fd5b611b948582860161192c565b90969095509350505050565b600080600060408486031215611bb557600080fd5b833567ffffffffffffffff811115611bcc57600080fd5b611bd88682870161192c565b909790965060209590950135949350505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611c1e816020860160208601611ff9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611c62818460208701611ff9565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610c566020830184611c06565b600060408252611dd96040830185611c06565b8281036020840152611deb8185611c06565b95945050505050565b6060810160048510611e0257fe5b938152602081019290925260409091015290565b6060810160088510611e0257fe5b6000606082526101c0611e3b606084018751611bec565b6020860151611e4d6080850182611bec565b506040860151611e6060a0850182611bec565b506060860151611e7360c0850182611bec565b50608086015160e084015260a0860151610100818186015260c08801519150610120828187015260e089015192506101408381880152828a0151935061016092508383880152818a0151935061018091508382880152808a01519350506101a08481880152611ee6610220880185611c06565b838b015194507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09350838882030186890152611f228186611c06565b955050818a0151935082878603016101e0880152611f408585611c06565b908a0151878203840161020089015294509050611f5d8185611c06565b925050508560208501528381036040850152611f798186611c06565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715611fd057600080fd5b604052919050565b600067ffffffffffffffff821115611fef57600080fd5b5060209081020190565b60005b83811015612014578181015183820152602001611ffc565b83811115612023576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461065757600080fdfea365627a7a72315820a7fd48248b574cea22c12945a9ea56401e75b761a21b26007784097ff9e36a026c6578706572696d656e74616cf564736f6c634300050b0040'; /** * Approves the respective proxy for a given asset to transfer tokens on the Forwarder contract's behalf. * This is necessary because an order fee denominated in the maker asset (i.e. a percentage fee) is sent by the @@ -1881,8 +1883,17 @@ export class ForwarderContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ForwarderContract.deployedBytecode, ) { - super('Forwarder', ForwarderContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'Forwarder', + ForwarderContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index 93fe643f57..c609bc220c 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -28,6 +28,7 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IAssetProxyContract extends BaseContract { + public static deployedBytecode: string | undefined; /** * Transfers assets. Either succeeds or throws. */ @@ -471,8 +472,17 @@ export class IAssetProxyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = IAssetProxyContract.deployedBytecode, ) { - super('IAssetProxy', IAssetProxyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'IAssetProxy', + IAssetProxyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index 4b42746d53..05a99e2ba2 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -28,6 +28,7 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IValidatorContract extends BaseContract { + public static deployedBytecode: string | undefined; /** * Verifies that a signature is valid. */ @@ -240,8 +241,17 @@ export class IValidatorContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = IValidatorContract.deployedBytecode, ) { - super('IValidator', IValidatorContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'IValidator', + IValidatorContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index b0918e62d6..05e5680ed8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -28,6 +28,7 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class IWalletContract extends BaseContract { + public static deployedBytecode: string | undefined; /** * Validates a hash with the `Wallet` signature type. */ @@ -226,8 +227,17 @@ export class IWalletContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = IWalletContract.deployedBytecode, ) { - super('IWallet', IWalletContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'IWallet', + IWalletContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 35921ffe9c..9ca79cb746 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -61,6 +61,8 @@ export interface MultiAssetProxyAssetProxyRegisteredEventArgs extends DecodedLog // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class MultiAssetProxyContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a72315820b6035dca2a3e2a1f75e8098e2d2acd5ad3d5155d8a55a8fe0602e21d11e4312264736f6c634300050b0032'; public assetProxies = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -1940,6 +1942,7 @@ export class MultiAssetProxyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = MultiAssetProxyContract.deployedBytecode, ) { super( 'MultiAssetProxy', @@ -1948,6 +1951,7 @@ export class MultiAssetProxyContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 6041996fb4..b899390542 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -28,6 +28,7 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class OrderValidatorContract extends BaseContract { + public static deployedBytecode: string | undefined; public getOrderAndTraderInfo = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -1789,6 +1790,7 @@ export class OrderValidatorContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = OrderValidatorContract.deployedBytecode, ) { super( 'OrderValidator', @@ -1797,6 +1799,7 @@ export class OrderValidatorContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts index 6e002e2bc8..488b9054e0 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts @@ -28,6 +28,8 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class StaticCallProxyContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a7231582044c2020ae7667d494aab070c9280e9d8a46d53ab502953edef7491d567612b5764736f6c634300050b0032'; /** * Makes a staticcall to a target address and verifies that the data returned matches the expected return data. */ @@ -333,6 +335,7 @@ export class StaticCallProxyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = StaticCallProxyContract.deployedBytecode, ) { super( 'StaticCallProxy', @@ -341,6 +344,7 @@ export class StaticCallProxyContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index fdf84865f2..1dff4fb261 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -70,6 +70,8 @@ export interface WETH9WithdrawalEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class WETH9Contract extends BaseContract { + public static deployedBytecode = + '0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058208c1a5f90a07df164cfae00321c12c43db2b7ada1e01f84db768bd564cdcb5e810029'; public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -1884,8 +1886,17 @@ export class WETH9Contract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = WETH9Contract.deployedBytecode, ) { - super('WETH9', WETH9Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'WETH9', + WETH9Contract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( WETH9Contract.ABI(), diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index 70248c011e..4f0b0d01a0 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -54,6 +54,8 @@ export interface ZRXTokenApprovalEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ZRXTokenContract extends BaseContract { + public static deployedBytecode = + '0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a7230582089c65002cb8f3d655c649cfac99a1bc182fd35bc61f3da8b1602755719ae5da50029'; public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -1519,8 +1521,17 @@ export class ZRXTokenContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = ZRXTokenContract.deployedBytecode, ) { - super('ZRXToken', ZRXTokenContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'ZRXToken', + ZRXTokenContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( ZRXTokenContract.ABI(), diff --git a/packages/abi-gen/src/index.ts b/packages/abi-gen/src/index.ts index 33ae47d7fc..c7b243e97b 100644 --- a/packages/abi-gen/src/index.ts +++ b/packages/abi-gen/src/index.ts @@ -359,6 +359,25 @@ for (const abiFileName of abiFileNames) { continue; } + let deployedBytecode; + try { + deployedBytecode = parsedContent.compilerOutput.evm.deployedBytecode.object; + if ( + deployedBytecode === '' || + deployedBytecode === undefined || + deployedBytecode === '0x' || + deployedBytecode === '0x00' + ) { + throw new Error(); + } + } catch (err) { + logUtils.log( + `Couldn't find deployedBytecode for ${chalk.bold( + namedContent.name, + )}, using undefined. Found [${deployedBytecode}]`, + ); + deployedBytecode = undefined; + } let ctor = ABI.find((abi: AbiDefinition) => abi.type === ABI_TYPE_CONSTRUCTOR) as ConstructorAbi; if (ctor === undefined) { ctor = utils.getEmptyConstructor(); // The constructor exists, but it's implicit in JSON's ABI definition @@ -401,6 +420,7 @@ for (const abiFileName of abiFileNames) { const contextData = { contractName: namedContent.name, ctor, + deployedBytecode, ABI: ABI as ContractAbi, ABIString: JSON.stringify(ABI), methods: methodsData, diff --git a/packages/abi-gen/templates/TypeScript/contract.handlebars b/packages/abi-gen/templates/TypeScript/contract.handlebars index af40c0468c..55aaa4d941 100644 --- a/packages/abi-gen/templates/TypeScript/contract.handlebars +++ b/packages/abi-gen/templates/TypeScript/contract.handlebars @@ -50,6 +50,12 @@ export enum {{contractName}}Events { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class {{contractName}}Contract extends BaseContract { + {{#ifEquals this.deployedBytecode undefined~}} + public static deployedBytecode: string | undefined; + {{else~}} + public static deployedBytecode = '{{this.deployedBytecode}}'; + {{/ifEquals~}} + {{#each methods}} {{#if this.devdoc.details}} /** @@ -231,8 +237,14 @@ export class {{contractName}}Contract extends BaseContract { ); return logs; }{{/if}} - constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }) { - super('{{contractName}}', {{contractName}}Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + constructor( + address: string, + supportedProvider: SupportedProvider, + txDefaults?: Partial, + logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = {{contractName}}Contract.deployedBytecode, + ) { + super('{{contractName}}', {{contractName}}Contract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies, deployedBytecode); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']);{{#if events}} this._subscriptionManager = new SubscriptionManager<{{contractName}}EventArgs, {{contractName}}Events>( {{contractName}}Contract.ABI(), diff --git a/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts index 5ec65cd4be..c002380fc9 100644 --- a/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts @@ -52,6 +52,8 @@ export interface AbiGenDummySimpleEventEventArgs extends DecodedLogArgs { // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class AbiGenDummyContract extends BaseContract { + public static deployedBytecode = + '0x608060405234801561001057600080fd5b50600436106101d95760003560e01c806376f15d5b11610104578063bb607362116100a2578063d88be12f11610071578063d88be12f1461039b578063ee8b86fb146103a3578063f408fb3114610279578063fa315f9d146103b6576101d9565b8063bb60736214610353578063bdab168814610369578063cd3c0b971461037e578063d6d7618c14610386576101d9565b80638ee52b4e116100de5780638ee52b4e146103225780639a3b618514610335578063a3c2f6b61461033d578063ae2dae1714610345576101d9565b806376f15d5b146102f25780637833bec0146102fa5780637a791e6e1461031a576101d9565b80634303a5421161017c57806359c28add1161014b57806359c28add146102b45780635ba3c7c0146102c957806363d69c88146102d1578063647341eb146102e4576101d9565b80634303a542146102875780634582eab21461028f57806345fdbdb714610297578063586f84b21461029f576101d9565b80632e1a7d4d116101b85780632e1a7d4d146102245780633687617d1461023757806336b32396146102595780633e9ef66a14610279576101d9565b806209e437146101de5780630527c28f146101e85780631310e444146101fb575b600080fd5b6101e66103c4565b005b6101e66101f6366004610c7f565b610401565b61020e610209366004610d34565b610404565b60405161021b919061139a565b60405180910390f35b6101e6610232366004610d34565b61040b565b61024a610245366004610eac565b61045c565b60405161021b93929190611103565b61026c610267366004610cbc565b6104fc565b60405161021b9190611045565b6101e66101f6366004610cff565b61020e6105de565b6101e66105e5565b6101e661064a565b6102a761067c565b60405161021b9190611325565b6102bc610684565b60405161021b9190611330565b6101e661068c565b61026c6102df366004610c2d565b6106f1565b6101e66101f6366004610e77565b61020e6106fa565b61030d610308366004610d4d565b610708565b60405161021b9190611239565b6101e66107c5565b61020e610330366004610d34565b6107ca565b6101e66107d0565b61020e6107db565b6101e66101f6366004610de7565b61035b6107e0565b60405161021b9291906113a3565b610371610819565b60405161021b9190611066565b6101e661081e565b61038e610855565b60405161021b9190611387565b61020e6109ae565b6101e66103b1366004610d34565b6101f6565b6101e66101f6366004610d34565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f690611202565b60405180910390fd5b565b50565b506107c790565b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b6582604051610451919061139a565b60405180910390a250565b505060408051808201825260048082527f1234567800000000000000000000000000000000000000000000000000000000602080840191909152835180850185528281527f87654321000000000000000000000000000000000000000000000000000000008183015284518086019095529184527f616d657400000000000000000000000000000000000000000000000000000000908401529093909250565b600060606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525090506000818760405160200161054d929190611023565b6040516020818303038152906040528051906020012090506001818787876040516000815260200160405260405161058894939291906110e5565b6020604051602081039080840390855afa1580156105aa573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b6107c75b90565b604080518082018252601481527f5245564552545f574954485f434f4e5354414e54000000000000000000000000602082015290517f08c379a00000000000000000000000000000000000000000000000000000000081526103f69190600401611145565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f6906111cb565b6105e26109b4565b6105e26109cc565b604080518082018252601581527f524551554952455f574954485f434f4e5354414e540000000000000000000000602082015290517f08c379a00000000000000000000000000000000000000000000000000000000081526103f69190600401611145565b50929392505050565b600080546001019081905590565b6107106109ec565b50604080516080810182529182528051808201825260048082527f123456780000000000000000000000000000000000000000000000000000000060208381019190915280850192909252825180840184528181527f87654321000000000000000000000000000000000000000000000000000000008184015284840152825180840190935282527f616d65740000000000000000000000000000000000000000000000000000000090820152606082015290565b6103ff565b60010190565b600080546001019055565b600190565b60408051808201909152600581527f68656c6c6f0000000000000000000000000000000000000000000000000000006020820152600191565b606090565b7f61a6029a4c7ddee5824d171331eecbd015d26a271310a223718b837facb5b77160405161084b9061115f565b60405180910390a1565b61085d610a1a565b6040805160028082526060828101909352816020015b60608152602001906001900390816108735790505090506040518060400160405280600581526020017f3078313233000000000000000000000000000000000000000000000000000000815250816000815181106108cd57fe5b60200260200101819052506040518060400160405280600581526020017f30783332310000000000000000000000000000000000000000000000000000008152508160018151811061091b57fe5b6020908102919091018101919091526040805160c0810182526005608082018181527f307831323300000000000000000000000000000000000000000000000000000060a0840152825281840152808201939093528051808201909152600381527f6162630000000000000000000000000000000000000000000000000000000000918101919091526060820152905090565b6104d290565b60405180602001604052806109c7610a48565b905290565b60405180604001604052806109df610a1a565b8152602001606081525090565b60405180608001604052806109ff610a5b565b81526020016060815260200160608152602001606081525090565b604051806080016040528060608152602001600063ffffffff16815260200160608152602001606081525090565b6040518060200160405280600081525090565b60405180606001604052806000815260200160608152602001606081525090565b600082601f830112610a8c578081fd5b813567ffffffffffffffff811115610aa2578182fd5b6020610ab181828402016113bc565b828152925080830184820160005b84811015610ae857610ad6888584358a0101610af3565b83529183019190830190600101610abf565b505050505092915050565b600082601f830112610b03578081fd5b813567ffffffffffffffff811115610b19578182fd5b610b4a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016113bc565b9150808252836020828501011115610b6157600080fd5b8060208401602084013760009082016020015292915050565b600060808284031215610b8b578081fd5b610b9560806113bc565b90506000823567ffffffffffffffff80821115610bb0578283fd5b610bbc86838701610af3565b84526020850135915063ffffffff82168214610bd6578283fd5b8160208501526040850135915080821115610bef578283fd5b610bfb86838701610a7c565b60408501526060850135915080821115610c13578283fd5b50610c2085828601610af3565b6060840152505092915050565b600080600080600060a08688031215610c4557600080fd5b8535610c5081611413565b945060208601359350604086013592506060860135610c6e81611413565b949793965091946080013592915050565b600060208284031215610c9157600080fd5b813567ffffffffffffffff811115610ca857600080fd5b610cb484828501610a7c565b949350505050565b60008060008060808587031215610cd257600080fd5b84359350602085013560ff81168114610cea57600080fd5b93969395505050506040820135916060013590565b600060208284031215610d1157600080fd5b813567ffffffffffffffff811115610d2857600080fd5b610cb484828501610af3565b600060208284031215610d4657600080fd5b5035919050565b600060208284031215610d5e578081fd5b813567ffffffffffffffff80821115610d75578283fd5b81840160608187031215610d87578384fd5b610d9160606113bc565b925080358352602081013582811115610da8578485fd5b610db487828401610af3565b602085015250604081013582811115610dcb578485fd5b610dd787828401610af3565b6040850152509195945050505050565b600060208284031215610df8578081fd5b813567ffffffffffffffff80821115610e0f578283fd5b81840160408187031215610e21578384fd5b610e2b60406113bc565b9250803582811115610e3b578485fd5b610e4787828401610b7a565b845250602081013582811115610e5b578485fd5b610e6787828401610af3565b6020850152509195945050505050565b600060208284031215610e8957600080fd5b813567ffffffffffffffff811115610ea057600080fd5b610cb484828501610b7a565b600080600060608486031215610ec0578081fd5b83359250602084013567ffffffffffffffff80821115610ede578283fd5b610eea87838801610af3565b93506040860135915080821115610eff578283fd5b50610f0c86828701610af3565b9150509250925092565b60008151808452610f2e8160208601602086016113e3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000815160808452610f756080850182610f16565b6020915063ffffffff82850151168286015260408401518582036040870152818151808452848401915084858202850101858401600094505b82851015610ffc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868303018452610fe8828251610f16565b600195909501949387019391508601610fae565b506060880151955088810360608a01526110168187610f16565b9998505050505050505050565b600083516110358184602088016113e3565b9190910191825250602001919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600060208083018184528085518083526040860191506040848202870101925083870160005b828110156110d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526110c6858351610f60565b9450928501929085019060010161108c565b5092979650505050505050565b93845260ff9290921660208401526040830152606082015260800190565b6000606082526111166060830186610f16565b82810360208401526111288186610f16565b838103604085015261113a8186610f16565b979650505050505050565b6000602082526111586020830184610f16565b9392505050565b60408082526004908201527f123456780000000000000000000000000000000000000000000000000000000060608201526080602082018190526005908201527f6c6f72656d00000000000000000000000000000000000000000000000000000060a082015260c00190565b6020808252600d908201527f53494d504c455f52455645525400000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f53494d504c455f52455155495245000000000000000000000000000000000000604082015260600190565b600060208252825160806020840152805160a08401526020810151606060c0850152611269610100850182610f16565b604083015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608582030160e08601526112a48183610f16565b9250505060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808584030160408601526112e28383610f16565b60408701519350818682030160608701526112fd8185610f16565b92505060608601519250808583030160808601525061131c8183610f16565b95945050505050565b905151815260200190565b60006020825282516040602084015261134c6060840182610f60565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084820301604085015261131c8183610f16565b6000602082526111586020830184610f60565b90815260200190565b600083825260406020830152610cb46040830184610f16565b60405181810167ffffffffffffffff811182821017156113db57600080fd5b604052919050565b60005b838110156113fe5781810151838201526020016113e6565b8381111561140d576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461040157600080fdfea365627a7a723158207f0854b76fc684de0be1f1a5db2d486bc187ff28d1e99d27ca0f61b452a1942f6c6578706572696d656e74616cf564736f6c634300050b0040'; public simpleRequire = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -3588,8 +3590,17 @@ export class AbiGenDummyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = AbiGenDummyContract.deployedBytecode, ) { - super('AbiGenDummy', AbiGenDummyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'AbiGenDummy', + AbiGenDummyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); this._subscriptionManager = new SubscriptionManager( AbiGenDummyContract.ABI(), diff --git a/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts b/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts index 04b7229458..e060513c2a 100644 --- a/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts +++ b/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts @@ -28,6 +28,8 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class LibDummyContract extends BaseContract { + public static deployedBytecode = + '0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72305820b14322cd05aa1dcae66812e472d3ab85cced78118ea7f9a5098d073b2accc45964736f6c634300050a0032'; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -104,8 +106,17 @@ export class LibDummyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = LibDummyContract.deployedBytecode, ) { - super('LibDummy', LibDummyContract.ABI(), address, supportedProvider, txDefaults, logDecodeDependencies); + super( + 'LibDummy', + LibDummyContract.ABI(), + address, + supportedProvider, + txDefaults, + logDecodeDependencies, + deployedBytecode, + ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } } diff --git a/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts b/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts index 9e292a4c03..e914908a52 100644 --- a/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts +++ b/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts @@ -28,6 +28,8 @@ import * as ethers from 'ethers'; // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class TestLibDummyContract extends BaseContract { + public static deployedBytecode = + '0x6080604052348015600f57600080fd5b506004361060325760003560e01c806322935e921460375780632b82fdf0146063575b600080fd5b605160048036036020811015604b57600080fd5b5035607d565b60408051918252519081900360200190f35b605160048036036020811015607757600080fd5b5035608c565b60006086826095565b92915050565b6000608682609c565b6104d20190565b6001019056fea265627a7a72305820ddb720d14b34694daaefebcbd729af6ae04fa2232481812dd8fde63d6a4c32c164736f6c634300050a0032'; public publicAddConstant = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an @@ -287,6 +289,7 @@ export class TestLibDummyContract extends BaseContract { supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode: string | undefined = TestLibDummyContract.deployedBytecode, ) { super( 'TestLibDummy', @@ -295,6 +298,7 @@ export class TestLibDummyContract extends BaseContract { supportedProvider, txDefaults, logDecodeDependencies, + deployedBytecode, ); classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']); } diff --git a/packages/base-contract/src/index.ts b/packages/base-contract/src/index.ts index ad188ce2c5..2dc978569f 100644 --- a/packages/base-contract/src/index.ts +++ b/packages/base-contract/src/index.ts @@ -82,6 +82,7 @@ export class BaseContract { public constructorArgs: any[] = []; private _evmIfExists?: VM; private _evmAccountIfExists?: Buffer; + private _deployedBytecodeIfExists?: Buffer; protected static _formatABIDataItemList( abis: DataItem[], values: any[], @@ -197,9 +198,11 @@ export class BaseContract { await psm.putAccount(accountAddress, account); // 'deploy' the contract - const contractCode = await this._web3Wrapper.getContractCodeAsync(this.address); - const deployedBytecode = Buffer.from(contractCode.substr(2), 'hex'); - await psm.putContractCode(addressBuf, deployedBytecode); + if (this._deployedBytecodeIfExists === undefined) { + const contractCode = await this._web3Wrapper.getContractCodeAsync(this.address); + this._deployedBytecodeIfExists = Buffer.from(contractCode.substr(2), 'hex'); + } + await psm.putContractCode(addressBuf, this._deployedBytecodeIfExists); // save for later this._evmIfExists = vm; @@ -252,6 +255,8 @@ export class BaseContract { /// @param supportedProvider for communicating with an ethereum node. /// @param logDecodeDependencies the name and ABI of contracts whose event logs are /// decoded by this wrapper. + /// @param deployedBytecode the deployedBytecode of the contract, used for executing + /// pure Solidity functions in memory. This is different from the bytecode. constructor( contractName: string, abi: ContractAbi, @@ -259,9 +264,14 @@ export class BaseContract { supportedProvider: SupportedProvider, callAndTxnDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi }, + deployedBytecode?: string, ) { assert.isString('contractName', contractName); assert.isETHAddressHex('address', address); + if (deployedBytecode !== undefined && deployedBytecode !== '') { + assert.isHexString('deployedBytecode', deployedBytecode); + this._deployedBytecodeIfExists = Buffer.from(deployedBytecode.substr(2), 'hex'); + } const provider = providerUtils.standardizeOrThrow(supportedProvider); if (callAndTxnDefaults !== undefined) { assert.doesConformToSchema('callAndTxnDefaults', callAndTxnDefaults, schemas.callDataSchema, [