@opeqlabs/sdk 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -0
- package/README.md +123 -2
- package/examples/evm-send.mjs +27 -0
- package/examples/solana-send.mjs +34 -0
- package/examples/verify.mjs +29 -0
- package/filestore.js +149 -0
- package/index.js +384 -0
- package/locks.js +28 -0
- package/package.json +17 -4
- package/src/feekey.js +36 -0
- package/src/lib/compute.js +73 -0
- package/src/lib/engine.js +639 -0
- package/src/lib/evmcode.js +4 -0
- package/src/lib/evmtx.js +62 -0
- package/src/lib/evmwallet.js +636 -0
- package/src/lib/evmwots.js +322 -0
- package/src/lib/keccak.js +165 -0
- package/src/lib/mnemonic.js +80 -0
- package/src/lib/protocol.js +129 -0
- package/src/lib/secp256k1.js +123 -0
- package/src/lib/sha256.js +120 -0
- package/src/lib/solana.js +264 -0
- package/src/lib/vaultstore.js +133 -0
- package/src/lib/wordlist.js +1 -0
- package/src/lib/wots.js +128 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const FACTORY_INIT = "60808060405234601557611bc1908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635e3e80b2146100f8578063af166a1a146100905763ff3e05031461003a575f80fd5b3461008c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c576020610084610076610142565b61007e610171565b90610474565b604051908152f35b5f80fd5b3461008c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c5760206100da6100cc610142565b6100d4610171565b90610314565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461008c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c5760206100da610134610142565b61013c610171565b906101a0565b600435907fffffffffffffffffffffffffffffffff000000000000000000000000000000008216820361008c57565b602435907fffffffffffffffffffffffffffffffff000000000000000000000000000000008216820361008c57565b9190916101ad8382610314565b803b6102ce57506101be8382610474565b6040516116998082019082821067ffffffffffffffff8311176102a1578685849361021b936104f386397fffffffffffffffffffffffffffffffff0000000000000000000000000000000091821681529116602082015260400190565b03905ff5801561029657604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000938416815294909216602085015273ffffffffffffffffffffffffffffffffffffffff169283917fa4326f70dab37776c4da170a92ab44332a9309b77235f6bd3afd2f1d49c5bfbf91a2565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b925050565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102a157604052565b61041e73ffffffffffffffffffffffffffffffffffffffff926116996040519061034160208201836102d3565b80825260208201906104f382396104156040519160208084016103c68561039a898c859092917fffffffffffffffffffffffffffffffff0000000000000000000000000000000060209181604085019616845216910152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018752866102d3565b60405194859383850197518091895e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826102d3565b51902092610474565b906040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815261046d6075826102d3565b5190201690565b907fffffffffffffffffffffffffffffffff000000000000000000000000000000006040519181602084019460608652600e60808601527f6f7065712f65766d2f69642f763100000000000000000000000000000000000060a086015216604084015216606082015260a081526104ec60c0826102d3565b5190209056fe608034606d57601f61169938819003918201601f19168301916001600160401b038311848410176071578084926040948552833981010312606d576041816085565b906001600160801b0319906056906020016085565b169060801c175f556040516115ff908161009a8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160801b031982168203606d5756fe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816301ffc9a714610a5757508063150b7a02146109e85780632335b09a146109ae57806324e05a43146107e3578063393138d5146107955780633bf645db1461077857806340b790601461073e5780634c8fe5261461071b5780636354b81b146106ff57806363e71ad4146106cd578063887a239914610654578063900cf0cf1461062f578063bc197c811461057c578063d69de92c146101a0578063da42396814610185578063ebf0c717146101565763f23a6e61146100e3575f61000f565b346101525760a0600319360112610152576100fc610b26565b50610105610b49565b5060843567ffffffffffffffff811161015257610126903690600401610b6c565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b34610152575f6003193601126101525760205f546fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f60031936011261015257602060405160408152f35b346101525760c06003193601126101525760043567ffffffffffffffff8111610152576101d1903690600401610c94565b906101da610c40565b6101e2610c7d565b6101ea610c53565b916101f3610bfa565b60a43567ffffffffffffffff811161015257610213903690600401610b6c565b936001549263ffffffff8460201c161561055457610230826110b9565b63ffffffff85169663ffffffff8516881061052c576103c0881015610504576102746fffffffffffffffffffffffffffffffff199392610283928594898e8e610dfa565b965f549488888760801b61119f565b92169116036104dc577f0b2cf32f4245784737ea65d73824440d27057ca184812c247f646c9b0c5c289e926fffffffffffffffffffffffffffffffff1963ffffffff927fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000846102f3604097610cc5565b169116179182600155845196875216602086015260201c1692a25f5b82811061031857005b61032381848461103f565b3573ffffffffffffffffffffffffffffffffffffffff8116810361015257602061034e83868661103f565b01359061035c83868661103f565b6040810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561015257019081359167ffffffffffffffff831161015257602001918036038313610152575f938493826040519384928337810185815203925af13d156104d4573d9067ffffffffffffffff82116104a7576040519161041260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d0a565b82523d5f602084013e5b1561042a575060010161030f565b6064827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60206040519586947f5c0dee5d0000000000000000000000000000000000000000000000000000000086526004860152604060248601528051918291826044880152018686015e5f85828601015201168101030190fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60609061041c565b7f5cd5d233000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fe98c510a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f0e4b0ab2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1e1935f1000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101525760a060031936011261015257610595610b26565b5061059e610b49565b5060443567ffffffffffffffff8111610152576105bf903690600401610c94565b505060643567ffffffffffffffff8111610152576105e1903690600401610c94565b505060843567ffffffffffffffff811161015257610603903690600401610b6c565b505060206040517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b34610152575f60031936011261015257602063ffffffff600154821c16604051908152f35b346101525760a06003193601126101525760043567ffffffffffffffff8111610152576106b261068a6020923690600401610c94565b610692610c40565b61069a610c7d565b906106a3610c53565b926106ac610bfa565b94610dfa565b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f6003193601126101525760205f5460801b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f600319360112610152576020604051610e108152f35b34610152575f60031936011261015257602063ffffffff60015416604051908152f35b34610152575f6003193601126101525760206040517f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba98152f35b34610152575f6003193601126101525760206103c0604051908152f35b346101525760c06003193601126101525760206106b26107b3610b9a565b6107bb610bba565b6107c3610c1a565b6107cb610c66565b906107d4610c2d565b926107dd610bda565b94610d4b565b346101525760e0600319360112610152576107fc610b9a565b610804610bba565b61080c610c1a565b610814610c66565b9061081d610c2d565b92610826610bda565b9360c43567ffffffffffffffff811161015257610847903690600401610b6c565b6001959195549563ffffffff8760201c1695866109a0575b63ffffffff811663ffffffff8916811061052c576104001115610504575f54906fffffffffffffffffffffffffffffffff198216966fffffffffffffffffffffffffffffffff1981169a888c14610978576fffffffffffffffffffffffffffffffff19976108dc97848f946108d395610d4b565b9160801b61119f565b16036104dc57826040927fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000067ffffffff0000000061094763ffffffff957ff1c1a2a40bbb80bb0471dea96b877223d0574f2b5fe86b4804abf58b11458644988a60801c175f55610cc5565b60201b1691161790816001556fffffffffffffffffffffffffffffffff19845196168652602086015260201c1692a2005b7ff65eace5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6109a9846110b9565b61085f565b34610152575f6003193601126101525760206040517f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c8152f35b3461015257608060031936011261015257610a01610b26565b50610a0a610b49565b5060643567ffffffffffffffff811161015257610a2b903690600401610b6c565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b3461015257602060031936011261015257600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361015257817f01ffc9a70000000000000000000000000000000000000000000000000000000060209314908115610afc575b8115610ad2575b5015158152f35b7f4e2312e00000000000000000000000000000000000000000000000000000000091501483610acb565b7f150b7a020000000000000000000000000000000000000000000000000000000081149150610ac4565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020838186019501011161015257565b600435906fffffffffffffffffffffffffffffffff198216820361015257565b602435906fffffffffffffffffffffffffffffffff198216820361015257565b60a435906fffffffffffffffffffffffffffffffff198216820361015257565b608435906fffffffffffffffffffffffffffffffff198216820361015257565b6044359063ffffffff8216820361015257565b6084359063ffffffff8216820361015257565b6024359063ffffffff8216820361015257565b6064359063ffffffff8216820361015257565b6064359067ffffffffffffffff8216820361015257565b6044359067ffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020808501948460051b01011161015257565b63ffffffff60019116019063ffffffff8211610cdd57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104a757604052565b6fffffffffffffffffffffffffffffffff1995949186809267ffffffffffffffff63ffffffff9697878060015460201c16996040519a8660208d019d168d527f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c60408d01524660608d01523060808d015260a08c01521660c08a01521660e08801521661010086015216610120840152166101408201526101408152610df361016082610d0a565b5190201690565b9594939592909263ffffffff60015460201c1693604051906020820192816040840160208652526060830160608360051b85010192825f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603015b838310610f2f575050505050509263ffffffff80959383610ebd67ffffffffffffffff956fffffffffffffffffffffffffffffffff199c9d98037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d0a565b51902093604051978a60208a019a168a527f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba960408a01524660608a01523060808a015260a08901521660c08701521660e0850152610100840152166101208201526101208152610df361014082610d0a565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888203018652863582811215610152578301803573ffffffffffffffffffffffffffffffffffffffff81168091036101525782526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101525701906020823592019167ffffffffffffffff8111610152578036038313610152576080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460209695600198606060408a990152816060870152868601375f84820186015201160101980196019493019190610e58565b919081101561107f5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610152570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908201809211610cdd57565b67ffffffffffffffff1680421161110657610e10420190814211610cdd57116110de57565b7f1cf9b207000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f203d82d8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90939293848311610152578411610152578101920390565b919091356fffffffffffffffffffffffffffffffff198116926010811061116b575050565b6fffffffffffffffffffffffffffffffff19929350829060100360031b1b161690565b90601281101561107f5760051b0190565b9091929493610120926101c082036115a157604051919694610240949392906111c88683610d0a565b853683375f905f905b601082106115645750508060ff9160081c61020084015216610220820152604051946111fd8187610d0a565b3686375f905b6012821061143d57505063ffffffff16927fffffffffffffffff000000000000000000000000000000000000000000000000670100000000000000851760c01b16906040519183835260108301525f5b601281106114225750506101386fffffffffffffffffffffffffffffffff19912016955f945b600a861061128957505050505050565b9091929394968760041b88810460101489151715610cdd578501808611610cdd57808611610cdd576010810190818111610cdd576112d2916112cc91868661112e565b90611146565b906001890190818a119283610cdd5788831c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60018b8e1c16016113a257610cdd57600193611395938891927fffffffffffffffff00000000000000000000000000000000000000000000000067020000000000000060389563ffffffff66ff000000000000806fffffffffffffffffffffffffffffffff199a9760301b16169116171760c01b16604051938452601084015260188301526028820152201690565b975b019493929190611279565b5060405187815263ffffffff90941660309390931b66ff00000000000016929092176702000000000000001760c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016601084015260188301526028820152603890206001906fffffffffffffffffffffffffffffffff191697611397565b600581901b820151600482901b840160180152600101611253565b9092939496958360041b84810460101485151715610cdd576010810190818111610cdd57611470916112cc918c8561112e565b9661147b858461118e565b5196611487868561118e565b5160ff039660ff8811610cdd576040519b818d528c601063ffffffff891666ff0000000000008b60301b161760c01b91015260188d019a8b5260128d01988a01995b600381018b811015611507579060288f6004938f8e8581538484208252600186018153848420825260028601905383832090528d53208d52016114c9565b509c91989097949c9b9a939b9992995b8381106115525750505050906fffffffffffffffffffffffffffffffff196001925116611544828a61118e565b520190979594939297611203565b80600191835360288420865201611517565b909181839b969798999b1a8061157a858761118e565b5260ff039060ff8211610cdd57600191611593916110ac565b9201909997969594996111d1565b7fc82db074000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220abaadadbfcd0f9dc0a2ba0643b2362b5370fb7b8be3472a1d00843fb3713718764736f6c63430008210033a2646970667358221220921439681c8ab41d48dfea5f1c25e3e08f693790e25bbfc865ac87609d6e405264736f6c63430008210033";
|
|
2
|
+
export const FACTORY_RUNTIME = "60806040526004361015610011575f80fd5b5f3560e01c80635e3e80b2146100f8578063af166a1a146100905763ff3e05031461003a575f80fd5b3461008c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c576020610084610076610142565b61007e610171565b90610474565b604051908152f35b5f80fd5b3461008c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c5760206100da6100cc610142565b6100d4610171565b90610314565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461008c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c5760206100da610134610142565b61013c610171565b906101a0565b600435907fffffffffffffffffffffffffffffffff000000000000000000000000000000008216820361008c57565b602435907fffffffffffffffffffffffffffffffff000000000000000000000000000000008216820361008c57565b9190916101ad8382610314565b803b6102ce57506101be8382610474565b6040516116998082019082821067ffffffffffffffff8311176102a1578685849361021b936104f386397fffffffffffffffffffffffffffffffff0000000000000000000000000000000091821681529116602082015260400190565b03905ff5801561029657604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000938416815294909216602085015273ffffffffffffffffffffffffffffffffffffffff169283917fa4326f70dab37776c4da170a92ab44332a9309b77235f6bd3afd2f1d49c5bfbf91a2565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b925050565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102a157604052565b61041e73ffffffffffffffffffffffffffffffffffffffff926116996040519061034160208201836102d3565b80825260208201906104f382396104156040519160208084016103c68561039a898c859092917fffffffffffffffffffffffffffffffff0000000000000000000000000000000060209181604085019616845216910152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018752866102d3565b60405194859383850197518091895e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826102d3565b51902092610474565b906040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815261046d6075826102d3565b5190201690565b907fffffffffffffffffffffffffffffffff000000000000000000000000000000006040519181602084019460608652600e60808601527f6f7065712f65766d2f69642f763100000000000000000000000000000000000060a086015216604084015216606082015260a081526104ec60c0826102d3565b5190209056fe608034606d57601f61169938819003918201601f19168301916001600160401b038311848410176071578084926040948552833981010312606d576041816085565b906001600160801b0319906056906020016085565b169060801c175f556040516115ff908161009a8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160801b031982168203606d5756fe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816301ffc9a714610a5757508063150b7a02146109e85780632335b09a146109ae57806324e05a43146107e3578063393138d5146107955780633bf645db1461077857806340b790601461073e5780634c8fe5261461071b5780636354b81b146106ff57806363e71ad4146106cd578063887a239914610654578063900cf0cf1461062f578063bc197c811461057c578063d69de92c146101a0578063da42396814610185578063ebf0c717146101565763f23a6e61146100e3575f61000f565b346101525760a0600319360112610152576100fc610b26565b50610105610b49565b5060843567ffffffffffffffff811161015257610126903690600401610b6c565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b34610152575f6003193601126101525760205f546fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f60031936011261015257602060405160408152f35b346101525760c06003193601126101525760043567ffffffffffffffff8111610152576101d1903690600401610c94565b906101da610c40565b6101e2610c7d565b6101ea610c53565b916101f3610bfa565b60a43567ffffffffffffffff811161015257610213903690600401610b6c565b936001549263ffffffff8460201c161561055457610230826110b9565b63ffffffff85169663ffffffff8516881061052c576103c0881015610504576102746fffffffffffffffffffffffffffffffff199392610283928594898e8e610dfa565b965f549488888760801b61119f565b92169116036104dc577f0b2cf32f4245784737ea65d73824440d27057ca184812c247f646c9b0c5c289e926fffffffffffffffffffffffffffffffff1963ffffffff927fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000846102f3604097610cc5565b169116179182600155845196875216602086015260201c1692a25f5b82811061031857005b61032381848461103f565b3573ffffffffffffffffffffffffffffffffffffffff8116810361015257602061034e83868661103f565b01359061035c83868661103f565b6040810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561015257019081359167ffffffffffffffff831161015257602001918036038313610152575f938493826040519384928337810185815203925af13d156104d4573d9067ffffffffffffffff82116104a7576040519161041260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d0a565b82523d5f602084013e5b1561042a575060010161030f565b6064827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60206040519586947f5c0dee5d0000000000000000000000000000000000000000000000000000000086526004860152604060248601528051918291826044880152018686015e5f85828601015201168101030190fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60609061041c565b7f5cd5d233000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fe98c510a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f0e4b0ab2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1e1935f1000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101525760a060031936011261015257610595610b26565b5061059e610b49565b5060443567ffffffffffffffff8111610152576105bf903690600401610c94565b505060643567ffffffffffffffff8111610152576105e1903690600401610c94565b505060843567ffffffffffffffff811161015257610603903690600401610b6c565b505060206040517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b34610152575f60031936011261015257602063ffffffff600154821c16604051908152f35b346101525760a06003193601126101525760043567ffffffffffffffff8111610152576106b261068a6020923690600401610c94565b610692610c40565b61069a610c7d565b906106a3610c53565b926106ac610bfa565b94610dfa565b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f6003193601126101525760205f5460801b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f600319360112610152576020604051610e108152f35b34610152575f60031936011261015257602063ffffffff60015416604051908152f35b34610152575f6003193601126101525760206040517f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba98152f35b34610152575f6003193601126101525760206103c0604051908152f35b346101525760c06003193601126101525760206106b26107b3610b9a565b6107bb610bba565b6107c3610c1a565b6107cb610c66565b906107d4610c2d565b926107dd610bda565b94610d4b565b346101525760e0600319360112610152576107fc610b9a565b610804610bba565b61080c610c1a565b610814610c66565b9061081d610c2d565b92610826610bda565b9360c43567ffffffffffffffff811161015257610847903690600401610b6c565b6001959195549563ffffffff8760201c1695866109a0575b63ffffffff811663ffffffff8916811061052c576104001115610504575f54906fffffffffffffffffffffffffffffffff198216966fffffffffffffffffffffffffffffffff1981169a888c14610978576fffffffffffffffffffffffffffffffff19976108dc97848f946108d395610d4b565b9160801b61119f565b16036104dc57826040927fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000067ffffffff0000000061094763ffffffff957ff1c1a2a40bbb80bb0471dea96b877223d0574f2b5fe86b4804abf58b11458644988a60801c175f55610cc5565b60201b1691161790816001556fffffffffffffffffffffffffffffffff19845196168652602086015260201c1692a2005b7ff65eace5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6109a9846110b9565b61085f565b34610152575f6003193601126101525760206040517f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c8152f35b3461015257608060031936011261015257610a01610b26565b50610a0a610b49565b5060643567ffffffffffffffff811161015257610a2b903690600401610b6c565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b3461015257602060031936011261015257600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361015257817f01ffc9a70000000000000000000000000000000000000000000000000000000060209314908115610afc575b8115610ad2575b5015158152f35b7f4e2312e00000000000000000000000000000000000000000000000000000000091501483610acb565b7f150b7a020000000000000000000000000000000000000000000000000000000081149150610ac4565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020838186019501011161015257565b600435906fffffffffffffffffffffffffffffffff198216820361015257565b602435906fffffffffffffffffffffffffffffffff198216820361015257565b60a435906fffffffffffffffffffffffffffffffff198216820361015257565b608435906fffffffffffffffffffffffffffffffff198216820361015257565b6044359063ffffffff8216820361015257565b6084359063ffffffff8216820361015257565b6024359063ffffffff8216820361015257565b6064359063ffffffff8216820361015257565b6064359067ffffffffffffffff8216820361015257565b6044359067ffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020808501948460051b01011161015257565b63ffffffff60019116019063ffffffff8211610cdd57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104a757604052565b6fffffffffffffffffffffffffffffffff1995949186809267ffffffffffffffff63ffffffff9697878060015460201c16996040519a8660208d019d168d527f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c60408d01524660608d01523060808d015260a08c01521660c08a01521660e08801521661010086015216610120840152166101408201526101408152610df361016082610d0a565b5190201690565b9594939592909263ffffffff60015460201c1693604051906020820192816040840160208652526060830160608360051b85010192825f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603015b838310610f2f575050505050509263ffffffff80959383610ebd67ffffffffffffffff956fffffffffffffffffffffffffffffffff199c9d98037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d0a565b51902093604051978a60208a019a168a527f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba960408a01524660608a01523060808a015260a08901521660c08701521660e0850152610100840152166101208201526101208152610df361014082610d0a565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888203018652863582811215610152578301803573ffffffffffffffffffffffffffffffffffffffff81168091036101525782526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101525701906020823592019167ffffffffffffffff8111610152578036038313610152576080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460209695600198606060408a990152816060870152868601375f84820186015201160101980196019493019190610e58565b919081101561107f5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610152570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908201809211610cdd57565b67ffffffffffffffff1680421161110657610e10420190814211610cdd57116110de57565b7f1cf9b207000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f203d82d8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90939293848311610152578411610152578101920390565b919091356fffffffffffffffffffffffffffffffff198116926010811061116b575050565b6fffffffffffffffffffffffffffffffff19929350829060100360031b1b161690565b90601281101561107f5760051b0190565b9091929493610120926101c082036115a157604051919694610240949392906111c88683610d0a565b853683375f905f905b601082106115645750508060ff9160081c61020084015216610220820152604051946111fd8187610d0a565b3686375f905b6012821061143d57505063ffffffff16927fffffffffffffffff000000000000000000000000000000000000000000000000670100000000000000851760c01b16906040519183835260108301525f5b601281106114225750506101386fffffffffffffffffffffffffffffffff19912016955f945b600a861061128957505050505050565b9091929394968760041b88810460101489151715610cdd578501808611610cdd57808611610cdd576010810190818111610cdd576112d2916112cc91868661112e565b90611146565b906001890190818a119283610cdd5788831c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60018b8e1c16016113a257610cdd57600193611395938891927fffffffffffffffff00000000000000000000000000000000000000000000000067020000000000000060389563ffffffff66ff000000000000806fffffffffffffffffffffffffffffffff199a9760301b16169116171760c01b16604051938452601084015260188301526028820152201690565b975b019493929190611279565b5060405187815263ffffffff90941660309390931b66ff00000000000016929092176702000000000000001760c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016601084015260188301526028820152603890206001906fffffffffffffffffffffffffffffffff191697611397565b600581901b820151600482901b840160180152600101611253565b9092939496958360041b84810460101485151715610cdd576010810190818111610cdd57611470916112cc918c8561112e565b9661147b858461118e565b5196611487868561118e565b5160ff039660ff8811610cdd576040519b818d528c601063ffffffff891666ff0000000000008b60301b161760c01b91015260188d019a8b5260128d01988a01995b600381018b811015611507579060288f6004938f8e8581538484208252600186018153848420825260028601905383832090528d53208d52016114c9565b509c91989097949c9b9a939b9992995b8381106115525750505050906fffffffffffffffffffffffffffffffff196001925116611544828a61118e565b520190979594939297611203565b80600191835360288420865201611517565b909181839b969798999b1a8061157a858761118e565b5260ff039060ff8211610cdd57600191611593916110ac565b9201909997969594996111d1565b7fc82db074000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220abaadadbfcd0f9dc0a2ba0643b2362b5370fb7b8be3472a1d00843fb3713718764736f6c63430008210033a2646970667358221220921439681c8ab41d48dfea5f1c25e3e08f693790e25bbfc865ac87609d6e405264736f6c63430008210033";
|
|
3
|
+
export const ACCOUNT_INIT = "608034606d57601f61169938819003918201601f19168301916001600160401b038311848410176071578084926040948552833981010312606d576041816085565b906001600160801b0319906056906020016085565b169060801c175f556040516115ff908161009a8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160801b031982168203606d5756fe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816301ffc9a714610a5757508063150b7a02146109e85780632335b09a146109ae57806324e05a43146107e3578063393138d5146107955780633bf645db1461077857806340b790601461073e5780634c8fe5261461071b5780636354b81b146106ff57806363e71ad4146106cd578063887a239914610654578063900cf0cf1461062f578063bc197c811461057c578063d69de92c146101a0578063da42396814610185578063ebf0c717146101565763f23a6e61146100e3575f61000f565b346101525760a0600319360112610152576100fc610b26565b50610105610b49565b5060843567ffffffffffffffff811161015257610126903690600401610b6c565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b34610152575f6003193601126101525760205f546fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f60031936011261015257602060405160408152f35b346101525760c06003193601126101525760043567ffffffffffffffff8111610152576101d1903690600401610c94565b906101da610c40565b6101e2610c7d565b6101ea610c53565b916101f3610bfa565b60a43567ffffffffffffffff811161015257610213903690600401610b6c565b936001549263ffffffff8460201c161561055457610230826110b9565b63ffffffff85169663ffffffff8516881061052c576103c0881015610504576102746fffffffffffffffffffffffffffffffff199392610283928594898e8e610dfa565b965f549488888760801b61119f565b92169116036104dc577f0b2cf32f4245784737ea65d73824440d27057ca184812c247f646c9b0c5c289e926fffffffffffffffffffffffffffffffff1963ffffffff927fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000846102f3604097610cc5565b169116179182600155845196875216602086015260201c1692a25f5b82811061031857005b61032381848461103f565b3573ffffffffffffffffffffffffffffffffffffffff8116810361015257602061034e83868661103f565b01359061035c83868661103f565b6040810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561015257019081359167ffffffffffffffff831161015257602001918036038313610152575f938493826040519384928337810185815203925af13d156104d4573d9067ffffffffffffffff82116104a7576040519161041260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d0a565b82523d5f602084013e5b1561042a575060010161030f565b6064827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60206040519586947f5c0dee5d0000000000000000000000000000000000000000000000000000000086526004860152604060248601528051918291826044880152018686015e5f85828601015201168101030190fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60609061041c565b7f5cd5d233000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fe98c510a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f0e4b0ab2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1e1935f1000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101525760a060031936011261015257610595610b26565b5061059e610b49565b5060443567ffffffffffffffff8111610152576105bf903690600401610c94565b505060643567ffffffffffffffff8111610152576105e1903690600401610c94565b505060843567ffffffffffffffff811161015257610603903690600401610b6c565b505060206040517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b34610152575f60031936011261015257602063ffffffff600154821c16604051908152f35b346101525760a06003193601126101525760043567ffffffffffffffff8111610152576106b261068a6020923690600401610c94565b610692610c40565b61069a610c7d565b906106a3610c53565b926106ac610bfa565b94610dfa565b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f6003193601126101525760205f5460801b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f600319360112610152576020604051610e108152f35b34610152575f60031936011261015257602063ffffffff60015416604051908152f35b34610152575f6003193601126101525760206040517f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba98152f35b34610152575f6003193601126101525760206103c0604051908152f35b346101525760c06003193601126101525760206106b26107b3610b9a565b6107bb610bba565b6107c3610c1a565b6107cb610c66565b906107d4610c2d565b926107dd610bda565b94610d4b565b346101525760e0600319360112610152576107fc610b9a565b610804610bba565b61080c610c1a565b610814610c66565b9061081d610c2d565b92610826610bda565b9360c43567ffffffffffffffff811161015257610847903690600401610b6c565b6001959195549563ffffffff8760201c1695866109a0575b63ffffffff811663ffffffff8916811061052c576104001115610504575f54906fffffffffffffffffffffffffffffffff198216966fffffffffffffffffffffffffffffffff1981169a888c14610978576fffffffffffffffffffffffffffffffff19976108dc97848f946108d395610d4b565b9160801b61119f565b16036104dc57826040927fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000067ffffffff0000000061094763ffffffff957ff1c1a2a40bbb80bb0471dea96b877223d0574f2b5fe86b4804abf58b11458644988a60801c175f55610cc5565b60201b1691161790816001556fffffffffffffffffffffffffffffffff19845196168652602086015260201c1692a2005b7ff65eace5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6109a9846110b9565b61085f565b34610152575f6003193601126101525760206040517f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c8152f35b3461015257608060031936011261015257610a01610b26565b50610a0a610b49565b5060643567ffffffffffffffff811161015257610a2b903690600401610b6c565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b3461015257602060031936011261015257600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361015257817f01ffc9a70000000000000000000000000000000000000000000000000000000060209314908115610afc575b8115610ad2575b5015158152f35b7f4e2312e00000000000000000000000000000000000000000000000000000000091501483610acb565b7f150b7a020000000000000000000000000000000000000000000000000000000081149150610ac4565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020838186019501011161015257565b600435906fffffffffffffffffffffffffffffffff198216820361015257565b602435906fffffffffffffffffffffffffffffffff198216820361015257565b60a435906fffffffffffffffffffffffffffffffff198216820361015257565b608435906fffffffffffffffffffffffffffffffff198216820361015257565b6044359063ffffffff8216820361015257565b6084359063ffffffff8216820361015257565b6024359063ffffffff8216820361015257565b6064359063ffffffff8216820361015257565b6064359067ffffffffffffffff8216820361015257565b6044359067ffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020808501948460051b01011161015257565b63ffffffff60019116019063ffffffff8211610cdd57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104a757604052565b6fffffffffffffffffffffffffffffffff1995949186809267ffffffffffffffff63ffffffff9697878060015460201c16996040519a8660208d019d168d527f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c60408d01524660608d01523060808d015260a08c01521660c08a01521660e08801521661010086015216610120840152166101408201526101408152610df361016082610d0a565b5190201690565b9594939592909263ffffffff60015460201c1693604051906020820192816040840160208652526060830160608360051b85010192825f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603015b838310610f2f575050505050509263ffffffff80959383610ebd67ffffffffffffffff956fffffffffffffffffffffffffffffffff199c9d98037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d0a565b51902093604051978a60208a019a168a527f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba960408a01524660608a01523060808a015260a08901521660c08701521660e0850152610100840152166101208201526101208152610df361014082610d0a565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888203018652863582811215610152578301803573ffffffffffffffffffffffffffffffffffffffff81168091036101525782526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101525701906020823592019167ffffffffffffffff8111610152578036038313610152576080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460209695600198606060408a990152816060870152868601375f84820186015201160101980196019493019190610e58565b919081101561107f5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610152570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908201809211610cdd57565b67ffffffffffffffff1680421161110657610e10420190814211610cdd57116110de57565b7f1cf9b207000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f203d82d8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90939293848311610152578411610152578101920390565b919091356fffffffffffffffffffffffffffffffff198116926010811061116b575050565b6fffffffffffffffffffffffffffffffff19929350829060100360031b1b161690565b90601281101561107f5760051b0190565b9091929493610120926101c082036115a157604051919694610240949392906111c88683610d0a565b853683375f905f905b601082106115645750508060ff9160081c61020084015216610220820152604051946111fd8187610d0a565b3686375f905b6012821061143d57505063ffffffff16927fffffffffffffffff000000000000000000000000000000000000000000000000670100000000000000851760c01b16906040519183835260108301525f5b601281106114225750506101386fffffffffffffffffffffffffffffffff19912016955f945b600a861061128957505050505050565b9091929394968760041b88810460101489151715610cdd578501808611610cdd57808611610cdd576010810190818111610cdd576112d2916112cc91868661112e565b90611146565b906001890190818a119283610cdd5788831c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60018b8e1c16016113a257610cdd57600193611395938891927fffffffffffffffff00000000000000000000000000000000000000000000000067020000000000000060389563ffffffff66ff000000000000806fffffffffffffffffffffffffffffffff199a9760301b16169116171760c01b16604051938452601084015260188301526028820152201690565b975b019493929190611279565b5060405187815263ffffffff90941660309390931b66ff00000000000016929092176702000000000000001760c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016601084015260188301526028820152603890206001906fffffffffffffffffffffffffffffffff191697611397565b600581901b820151600482901b840160180152600101611253565b9092939496958360041b84810460101485151715610cdd576010810190818111610cdd57611470916112cc918c8561112e565b9661147b858461118e565b5196611487868561118e565b5160ff039660ff8811610cdd576040519b818d528c601063ffffffff891666ff0000000000008b60301b161760c01b91015260188d019a8b5260128d01988a01995b600381018b811015611507579060288f6004938f8e8581538484208252600186018153848420825260028601905383832090528d53208d52016114c9565b509c91989097949c9b9a939b9992995b8381106115525750505050906fffffffffffffffffffffffffffffffff196001925116611544828a61118e565b520190979594939297611203565b80600191835360288420865201611517565b909181839b969798999b1a8061157a858761118e565b5260ff039060ff8211610cdd57600191611593916110ac565b9201909997969594996111d1565b7fc82db074000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220abaadadbfcd0f9dc0a2ba0643b2362b5370fb7b8be3472a1d00843fb3713718764736f6c63430008210033";
|
|
4
|
+
export const ACCOUNT_RUNTIME = "608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816301ffc9a714610a5757508063150b7a02146109e85780632335b09a146109ae57806324e05a43146107e3578063393138d5146107955780633bf645db1461077857806340b790601461073e5780634c8fe5261461071b5780636354b81b146106ff57806363e71ad4146106cd578063887a239914610654578063900cf0cf1461062f578063bc197c811461057c578063d69de92c146101a0578063da42396814610185578063ebf0c717146101565763f23a6e61146100e3575f61000f565b346101525760a0600319360112610152576100fc610b26565b50610105610b49565b5060843567ffffffffffffffff811161015257610126903690600401610b6c565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b34610152575f6003193601126101525760205f546fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f60031936011261015257602060405160408152f35b346101525760c06003193601126101525760043567ffffffffffffffff8111610152576101d1903690600401610c94565b906101da610c40565b6101e2610c7d565b6101ea610c53565b916101f3610bfa565b60a43567ffffffffffffffff811161015257610213903690600401610b6c565b936001549263ffffffff8460201c161561055457610230826110b9565b63ffffffff85169663ffffffff8516881061052c576103c0881015610504576102746fffffffffffffffffffffffffffffffff199392610283928594898e8e610dfa565b965f549488888760801b61119f565b92169116036104dc577f0b2cf32f4245784737ea65d73824440d27057ca184812c247f646c9b0c5c289e926fffffffffffffffffffffffffffffffff1963ffffffff927fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000846102f3604097610cc5565b169116179182600155845196875216602086015260201c1692a25f5b82811061031857005b61032381848461103f565b3573ffffffffffffffffffffffffffffffffffffffff8116810361015257602061034e83868661103f565b01359061035c83868661103f565b6040810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561015257019081359167ffffffffffffffff831161015257602001918036038313610152575f938493826040519384928337810185815203925af13d156104d4573d9067ffffffffffffffff82116104a7576040519161041260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d0a565b82523d5f602084013e5b1561042a575060010161030f565b6064827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60206040519586947f5c0dee5d0000000000000000000000000000000000000000000000000000000086526004860152604060248601528051918291826044880152018686015e5f85828601015201168101030190fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60609061041c565b7f5cd5d233000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fe98c510a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f0e4b0ab2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1e1935f1000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101525760a060031936011261015257610595610b26565b5061059e610b49565b5060443567ffffffffffffffff8111610152576105bf903690600401610c94565b505060643567ffffffffffffffff8111610152576105e1903690600401610c94565b505060843567ffffffffffffffff811161015257610603903690600401610b6c565b505060206040517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b34610152575f60031936011261015257602063ffffffff600154821c16604051908152f35b346101525760a06003193601126101525760043567ffffffffffffffff8111610152576106b261068a6020923690600401610c94565b610692610c40565b61069a610c7d565b906106a3610c53565b926106ac610bfa565b94610dfa565b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f6003193601126101525760205f5460801b6fffffffffffffffffffffffffffffffff1960405191168152f35b34610152575f600319360112610152576020604051610e108152f35b34610152575f60031936011261015257602063ffffffff60015416604051908152f35b34610152575f6003193601126101525760206040517f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba98152f35b34610152575f6003193601126101525760206103c0604051908152f35b346101525760c06003193601126101525760206106b26107b3610b9a565b6107bb610bba565b6107c3610c1a565b6107cb610c66565b906107d4610c2d565b926107dd610bda565b94610d4b565b346101525760e0600319360112610152576107fc610b9a565b610804610bba565b61080c610c1a565b610814610c66565b9061081d610c2d565b92610826610bda565b9360c43567ffffffffffffffff811161015257610847903690600401610b6c565b6001959195549563ffffffff8760201c1695866109a0575b63ffffffff811663ffffffff8916811061052c576104001115610504575f54906fffffffffffffffffffffffffffffffff198216966fffffffffffffffffffffffffffffffff1981169a888c14610978576fffffffffffffffffffffffffffffffff19976108dc97848f946108d395610d4b565b9160801b61119f565b16036104dc57826040927fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000067ffffffff0000000061094763ffffffff957ff1c1a2a40bbb80bb0471dea96b877223d0574f2b5fe86b4804abf58b11458644988a60801c175f55610cc5565b60201b1691161790816001556fffffffffffffffffffffffffffffffff19845196168652602086015260201c1692a2005b7ff65eace5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6109a9846110b9565b61085f565b34610152575f6003193601126101525760206040517f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c8152f35b3461015257608060031936011261015257610a01610b26565b50610a0a610b49565b5060643567ffffffffffffffff811161015257610a2b903690600401610b6c565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b3461015257602060031936011261015257600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361015257817f01ffc9a70000000000000000000000000000000000000000000000000000000060209314908115610afc575b8115610ad2575b5015158152f35b7f4e2312e00000000000000000000000000000000000000000000000000000000091501483610acb565b7f150b7a020000000000000000000000000000000000000000000000000000000081149150610ac4565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020838186019501011161015257565b600435906fffffffffffffffffffffffffffffffff198216820361015257565b602435906fffffffffffffffffffffffffffffffff198216820361015257565b60a435906fffffffffffffffffffffffffffffffff198216820361015257565b608435906fffffffffffffffffffffffffffffffff198216820361015257565b6044359063ffffffff8216820361015257565b6084359063ffffffff8216820361015257565b6024359063ffffffff8216820361015257565b6064359063ffffffff8216820361015257565b6064359067ffffffffffffffff8216820361015257565b6044359067ffffffffffffffff8216820361015257565b9181601f840112156101525782359167ffffffffffffffff8311610152576020808501948460051b01011161015257565b63ffffffff60019116019063ffffffff8211610cdd57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104a757604052565b6fffffffffffffffffffffffffffffffff1995949186809267ffffffffffffffff63ffffffff9697878060015460201c16996040519a8660208d019d168d527f27b59dc17e483d52568f785ae6a532ea82cbc293ac746bf50b56418e7159681c60408d01524660608d01523060808d015260a08c01521660c08a01521660e08801521661010086015216610120840152166101408201526101408152610df361016082610d0a565b5190201690565b9594939592909263ffffffff60015460201c1693604051906020820192816040840160208652526060830160608360051b85010192825f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603015b838310610f2f575050505050509263ffffffff80959383610ebd67ffffffffffffffff956fffffffffffffffffffffffffffffffff199c9d98037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d0a565b51902093604051978a60208a019a168a527f59d1cb171579e9a9bf88ce161c1bd762fce81047de5ccc1dfe1a6c128f1aaba960408a01524660608a01523060808a015260a08901521660c08701521660e0850152610100840152166101208201526101208152610df361014082610d0a565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888203018652863582811215610152578301803573ffffffffffffffffffffffffffffffffffffffff81168091036101525782526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101525701906020823592019167ffffffffffffffff8111610152578036038313610152576080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460209695600198606060408a990152816060870152868601375f84820186015201160101980196019493019190610e58565b919081101561107f5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610152570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908201809211610cdd57565b67ffffffffffffffff1680421161110657610e10420190814211610cdd57116110de57565b7f1cf9b207000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f203d82d8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90939293848311610152578411610152578101920390565b919091356fffffffffffffffffffffffffffffffff198116926010811061116b575050565b6fffffffffffffffffffffffffffffffff19929350829060100360031b1b161690565b90601281101561107f5760051b0190565b9091929493610120926101c082036115a157604051919694610240949392906111c88683610d0a565b853683375f905f905b601082106115645750508060ff9160081c61020084015216610220820152604051946111fd8187610d0a565b3686375f905b6012821061143d57505063ffffffff16927fffffffffffffffff000000000000000000000000000000000000000000000000670100000000000000851760c01b16906040519183835260108301525f5b601281106114225750506101386fffffffffffffffffffffffffffffffff19912016955f945b600a861061128957505050505050565b9091929394968760041b88810460101489151715610cdd578501808611610cdd57808611610cdd576010810190818111610cdd576112d2916112cc91868661112e565b90611146565b906001890190818a119283610cdd5788831c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60018b8e1c16016113a257610cdd57600193611395938891927fffffffffffffffff00000000000000000000000000000000000000000000000067020000000000000060389563ffffffff66ff000000000000806fffffffffffffffffffffffffffffffff199a9760301b16169116171760c01b16604051938452601084015260188301526028820152201690565b975b019493929190611279565b5060405187815263ffffffff90941660309390931b66ff00000000000016929092176702000000000000001760c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016601084015260188301526028820152603890206001906fffffffffffffffffffffffffffffffff191697611397565b600581901b820151600482901b840160180152600101611253565b9092939496958360041b84810460101485151715610cdd576010810190818111610cdd57611470916112cc918c8561112e565b9661147b858461118e565b5196611487868561118e565b5160ff039660ff8811610cdd576040519b818d528c601063ffffffff891666ff0000000000008b60301b161760c01b91015260188d019a8b5260128d01988a01995b600381018b811015611507579060288f6004938f8e8581538484208252600186018153848420825260028601905383832090528d53208d52016114c9565b509c91989097949c9b9a939b9992995b8381106115525750505050906fffffffffffffffffffffffffffffffff196001925116611544828a61118e565b520190979594939297611203565b80600191835360288420865201611517565b909181839b969798999b1a8061157a858761118e565b5260ff039060ff8211610cdd57600191611593916110ac565b9201909997969594996111d1565b7fc82db074000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220abaadadbfcd0f9dc0a2ba0643b2362b5370fb7b8be3472a1d00843fb3713718764736f6c63430008210033";
|
package/src/lib/evmtx.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { keccak256 } from "./keccak.js";
|
|
2
|
+
import { sign, toBytes32 } from "./secp256k1.js";
|
|
3
|
+
|
|
4
|
+
function concat(...parts) {
|
|
5
|
+
const n = parts.reduce((s, p) => s + p.length, 0);
|
|
6
|
+
const out = new Uint8Array(n);
|
|
7
|
+
let o = 0;
|
|
8
|
+
for (const p of parts) { out.set(p, o); o += p.length; }
|
|
9
|
+
return out;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function intBytes(v) {
|
|
13
|
+
let b = BigInt(v);
|
|
14
|
+
if (b < 0n) throw new Error("negative integer");
|
|
15
|
+
const out = [];
|
|
16
|
+
while (b > 0n) { out.unshift(Number(b & 0xffn)); b >>= 8n; }
|
|
17
|
+
return Uint8Array.from(out);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function lenPrefix(len, short, long) {
|
|
21
|
+
if (len < 56) return Uint8Array.of(short + len);
|
|
22
|
+
const l = intBytes(len);
|
|
23
|
+
return concat(Uint8Array.of(long + l.length), l);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function rlp(item) {
|
|
27
|
+
if (Array.isArray(item)) {
|
|
28
|
+
const body = concat(...item.map(rlp));
|
|
29
|
+
return concat(lenPrefix(body.length, 0xc0, 0xf7), body);
|
|
30
|
+
}
|
|
31
|
+
if (!(item instanceof Uint8Array)) throw new Error("rlp item must be bytes or a list");
|
|
32
|
+
if (item.length === 1 && item[0] < 0x80) return item;
|
|
33
|
+
return concat(lenPrefix(item.length, 0x80, 0xb7), item);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function hexToBytes(h) {
|
|
37
|
+
const s = h.startsWith("0x") ? h.slice(2) : h;
|
|
38
|
+
if (s.length % 2 || /[^0-9a-fA-F]/.test(s)) throw new Error("bad hex");
|
|
39
|
+
return Uint8Array.from(s.match(/../g) || [], (x) => parseInt(x, 16));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function bytesToHex(b) {
|
|
43
|
+
return "0x" + Array.from(b, (x) => x.toString(16).padStart(2, "0")).join("");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function signTx1559(tx, priv) {
|
|
47
|
+
const fields = [
|
|
48
|
+
intBytes(tx.chainId), intBytes(tx.nonce), intBytes(tx.maxPriorityFeePerGas), intBytes(tx.maxFeePerGas), intBytes(tx.gas),
|
|
49
|
+
tx.to ? hexToBytes(tx.to) : new Uint8Array(0), intBytes(tx.value || 0n), tx.data || new Uint8Array(0), [],
|
|
50
|
+
];
|
|
51
|
+
const hash = keccak256(Uint8Array.of(2), rlp(fields));
|
|
52
|
+
const { r, s, recovery } = sign(hash, priv);
|
|
53
|
+
const raw = concat(Uint8Array.of(2), rlp([...fields, intBytes(recovery), intBytes(r), intBytes(s)]));
|
|
54
|
+
return { raw: bytesToHex(raw), hash: bytesToHex(keccak256(raw)) };
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function create2Address(deployer, salt32, initCode) {
|
|
58
|
+
const a = keccak256(Uint8Array.of(0xff), hexToBytes(deployer), salt32, keccak256(initCode)).slice(12);
|
|
59
|
+
return bytesToHex(a);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { toBytes32 };
|