@1inch/solidity-utils 4.1.0 → 4.2.1
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/README.md +1 -1
- package/contracts/interfaces/IERC7597Permit.sol +13 -0
- package/contracts/libraries/BySigTraits.sol +37 -5
- package/contracts/libraries/SafeERC20.sol +1 -1
- package/contracts/mixins/BySig.sol +220 -0
- package/contracts/mixins/EthReceiver.sol +27 -0
- package/contracts/mixins/OnlyWethReceiver.sol +31 -0
- package/contracts/mixins/PermitAndCall.sol +39 -0
- package/contracts/mixins/SelfdestructEthSender.sol +32 -0
- package/contracts/mocks/SelfdestructEthSenderMock.sol +10 -0
- package/dist/docgen/index.d.ts +2 -0
- package/dist/docgen/index.js +7 -0
- package/dist/docgen/index.js.map +1 -0
- package/dist/docgen/templates.d.ts +6 -0
- package/dist/docgen/templates.js +15 -0
- package/dist/docgen/templates.js.map +1 -0
- package/dist/hardhat-setup/networks.d.ts +6 -1
- package/dist/hardhat-setup/networks.js +1 -1
- package/dist/hardhat-setup/networks.js.map +1 -1
- package/dist/src/permit.d.ts +14 -2
- package/dist/src/permit.js +14 -2
- package/dist/src/permit.js.map +1 -1
- package/dist/src/utils.d.ts +41 -15
- package/dist/src/utils.js +9 -11
- package/dist/src/utils.js.map +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
- package/package.json +9 -6
- package/utils/README.md +21 -3
- package/utils/docify.utils.js +1 -32
- package/utils/contract.hbs +0 -69
|
@@ -14,7 +14,7 @@ export declare class ETHBadReceiver__factory extends ContractFactory {
|
|
|
14
14
|
deploymentTransaction(): ContractTransactionResponse;
|
|
15
15
|
}>;
|
|
16
16
|
connect(runner: ContractRunner | null): ETHBadReceiver__factory;
|
|
17
|
-
static readonly bytecode = "
|
|
17
|
+
static readonly bytecode = "0x608034608357601f61022638819003918201601f19168301916001600160401b03831184841017608757808492604094855283398101031260835780516001600160a01b0391828216918290036083576020015191821680920360835760018060a01b031990815f5416175f55600154161760015560405161018a908161009c8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610044575b50361561001a575f80fd5b60046040517fe39ffce0000000000000000000000000000000000000000000000000000000008152fd5b5f905f3560e01c63a9059cbb1461005b575061000f565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101505760043573ffffffffffffffffffffffffffffffffffffffff808216809203610150576001541690813b15610150576064835f9381937f23b872dd0000000000000000000000000000000000000000000000000000000083523060048401526024830152602435604483015234905af1801561014557610102575080f35b905067ffffffffffffffff811161011857604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fdfea26469706673582212209b7a6c93516d66d715560b6c24f104c891f6a1a292970094f6c287401f67458b64736f6c63430008190033";
|
|
18
18
|
static readonly abi: readonly [{
|
|
19
19
|
readonly inputs: readonly [{
|
|
20
20
|
readonly internalType: "contract IERC20";
|
|
@@ -50,7 +50,7 @@ const _abi = [
|
|
|
50
50
|
type: "receive",
|
|
51
51
|
},
|
|
52
52
|
];
|
|
53
|
-
const _bytecode = "
|
|
53
|
+
const _bytecode = "0x608034608357601f61022638819003918201601f19168301916001600160401b03831184841017608757808492604094855283398101031260835780516001600160a01b0391828216918290036083576020015191821680920360835760018060a01b031990815f5416175f55600154161760015560405161018a908161009c8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610044575b50361561001a575f80fd5b60046040517fe39ffce0000000000000000000000000000000000000000000000000000000008152fd5b5f905f3560e01c63a9059cbb1461005b575061000f565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101505760043573ffffffffffffffffffffffffffffffffffffffff808216809203610150576001541690813b15610150576064835f9381937f23b872dd0000000000000000000000000000000000000000000000000000000083523060048401526024830152602435604483015234905af1801561014557610102575080f35b905067ffffffffffffffff811161011857604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fdfea26469706673582212209b7a6c93516d66d715560b6c24f104c891f6a1a292970094f6c287401f67458b64736f6c63430008190033";
|
|
54
54
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
55
55
|
class ETHBadReceiver__factory extends ethers_1.ContractFactory {
|
|
56
56
|
constructor(...args) {
|
|
@@ -14,7 +14,7 @@ export declare class UniERC20Wrapper__factory extends ContractFactory {
|
|
|
14
14
|
deploymentTransaction(): ContractTransactionResponse;
|
|
15
15
|
}>;
|
|
16
16
|
connect(runner: ContractRunner | null): UniERC20Wrapper__factory;
|
|
17
|
-
static readonly bytecode = "0x608034606f57601f6114e338819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b03191691909117905560405161145b90816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60406080815260049081361015610014575f80fd5b5f3560e01c806306fdde03146105f9578063095ea7b3146104b557806323b872dd146102f657806370a082311461029457806395d89b4114610232578063a41d3c2e146101d75763a9059cbb14610069575f80fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35761009a610694565b60243573ffffffffffffffffffffffffffffffffffffffff805f5416826100bd57005b6100c68161084d565b1561013f5750814710610116575f9283928392839216611388f16100e8610741565b50156100f057005b517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b505050517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b926044906020935f938751927fa9059cbb0000000000000000000000000000000000000000000000000000000084521688830152602482015282855af190816101b1575b501561018b57005b517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d156101cb575060015f5114601f3d11165b5f610183565b3b15156101c5565b5f80fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061022973ffffffffffffffffffffffffffffffffffffffff5f541661084d565b90519015158152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f5416610f61565b90519182918261064c565b0390f35b50346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906102ef6102d2610694565b73ffffffffffffffffffffffffffffffffffffffff5f541661079e565b9051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610329610694565b60243573ffffffffffffffffffffffffffffffffffffffff808216928383036101d35760443592825f5416908461035c57005b6103658261084d565b156104195750508234106103f15716913383036103c85730036103a05780341161038b57005b5f8080938193340390611388f16100e8610741565b5050517f57ca390a000000000000000000000000000000000000000000000000000000008152fd5b505050517f2a9c363d000000000000000000000000000000000000000000000000000000008152fd5b8585517fe2f844a0000000000000000000000000000000000000000000000000000000008152fd5b606492919550936020945f948851937f23b872dd00000000000000000000000000000000000000000000000000000000855216898401526024830152604482015282855af19081610493575b501561046d57005b517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b90503d156104ad575060015f5114601f3d11165b5f610465565b3b15156104a7565b50346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104ec610694565b60243573ffffffffffffffffffffffffffffffffffffffff5f5416916105118361084d565b6105d0576105208282856113c1565b1561052757005b60205f604486517f095ea7b3000000000000000000000000000000000000000000000000000000008152848982015282602482015282875af1806105b1575b1592831561059e575b50505061057857005b517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b6105a893506113c1565b155f808061056f565b503d156105c75760015f5114601f3d1116610566565b823b1515610566565b505050517f4ca17a99000000000000000000000000000000000000000000000000000000008152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f54166108c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6040810190811067ffffffffffffffff8211176106d357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106d357604052565b3d15610799573d9067ffffffffffffffff82116106d3576040519161078e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610700565b82523d5f602084013e565b606090565b6107a78161084d565b156107b157503190565b90602090602473ffffffffffffffffffffffffffffffffffffffff918260405195869485937f70a08231000000000000000000000000000000000000000000000000000000008552166004840152165afa908115610842575f91610813575090565b90506020813d60201161083a575b8161082e60209383610700565b810103126101d3575190565b3d9150610821565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff168015908115610870575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b90815181101561089c570160200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6108d28161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f06fdde030000000000000000000000000000000000000000000000000000000085526004815261092a816106b7565b51614e20948486fa9161093b610741565b92918215610ed7575b50508080610ecc575b610e55575b80610e4b575b610d64575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b1682526014845261099a846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b8382106109d257505050505090565b828591610d578451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b83820152019101906109c3565b9291905f5b8451811080610df5575b80610d9f575b15610d8657600101610d69565b939091929380610d96575061095d565b81529392505050565b507f7e000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610dec838861088b565b51161115610d79565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610e42838861088b565b51161015610d73565b5082815114610958565b8151838382810103126101d357848301518484019186835192149182610e8b575b5050610e825750610952565b94505050505090565b86019150818611610e9f5710155f80610e76565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50828251101561094d565b5f9350839250845190868201917fa3f4df7e00000000000000000000000000000000000000000000000000000000835260048152610f14816106b7565b5192fa610f1f610741565b905f80610944565b50604051610f34816106b7565b600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b610f6a8161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f95d89b4100000000000000000000000000000000000000000000000000000000855260048152610fc2816106b7565b51614e20948486fa91610fd3610741565b92918215611371575b50508080611366575b611325575b8061131b575b61123d575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b16825260148452611032846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b83821061106a57505050505090565b8285916112308451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061105b565b9291905f5b84518110806112c5575b8061126f575b1561125f57600101611242565b939091929380610d965750610ff5565b507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000006112bc838861088b565b51161115611252565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611312838861088b565b5116101561124c565b5082815114610ff0565b8151838382810103126101d357848301518484019186835192149182611352575b5050610e825750610fea565b86019150818611610e9f5710155f80611346565b508282511015610fe5565b5f9350839250845190868201917ff76f8d78000000000000000000000000000000000000000000000000000000008352600481526113ae816106b7565b5192fa6113b9610741565b905f80610fdc565b929160446020925f92604051917f095ea7b30000000000000000000000000000000000000000000000000000000083526004830152602482015282865af191826114085750565b9091503d1561141f575060015f5114601f3d111690565b3b15159056fea2646970667358221220bef08c9cc4ba5c36597736672c543702c8076c001c0654bbe0e8d0e871e1b70864736f6c63430008190033";
|
|
17
|
+
static readonly bytecode = "0x608034606f57601f6114e338819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b03191691909117905560405161145b90816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60406080815260049081361015610014575f80fd5b5f3560e01c806306fdde03146105f9578063095ea7b3146104b557806323b872dd146102f657806370a082311461029457806395d89b4114610232578063a41d3c2e146101d75763a9059cbb14610069575f80fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35761009a610694565b60243573ffffffffffffffffffffffffffffffffffffffff805f5416826100bd57005b6100c68161084d565b1561013f5750814710610116575f9283928392839216611388f16100e8610741565b50156100f057005b517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b505050517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b926044906020935f938751927fa9059cbb0000000000000000000000000000000000000000000000000000000084521688830152602482015282855af190816101b1575b501561018b57005b517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d156101cb575060015f5114601f3d11165b5f610183565b3b15156101c5565b5f80fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061022973ffffffffffffffffffffffffffffffffffffffff5f541661084d565b90519015158152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f5416610f61565b90519182918261064c565b0390f35b50346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906102ef6102d2610694565b73ffffffffffffffffffffffffffffffffffffffff5f541661079e565b9051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610329610694565b60243573ffffffffffffffffffffffffffffffffffffffff808216928383036101d35760443592825f5416908461035c57005b6103658261084d565b156104195750508234106103f15716913383036103c85730036103a05780341161038b57005b5f8080938193340390611388f16100e8610741565b5050517f57ca390a000000000000000000000000000000000000000000000000000000008152fd5b505050517f2a9c363d000000000000000000000000000000000000000000000000000000008152fd5b8585517fe2f844a0000000000000000000000000000000000000000000000000000000008152fd5b606492919550936020945f948851937f23b872dd00000000000000000000000000000000000000000000000000000000855216898401526024830152604482015282855af19081610493575b501561046d57005b517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b90503d156104ad575060015f5114601f3d11165b5f610465565b3b15156104a7565b50346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104ec610694565b60243573ffffffffffffffffffffffffffffffffffffffff5f5416916105118361084d565b6105d0576105208282856113c1565b1561052757005b60205f604486517f095ea7b3000000000000000000000000000000000000000000000000000000008152848982015282602482015282875af1806105b1575b1592831561059e575b50505061057857005b517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b6105a893506113c1565b155f808061056f565b503d156105c75760015f5114601f3d1116610566565b823b1515610566565b505050517f4ca17a99000000000000000000000000000000000000000000000000000000008152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f54166108c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6040810190811067ffffffffffffffff8211176106d357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106d357604052565b3d15610799573d9067ffffffffffffffff82116106d3576040519161078e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610700565b82523d5f602084013e565b606090565b6107a78161084d565b156107b157503190565b90602090602473ffffffffffffffffffffffffffffffffffffffff918260405195869485937f70a08231000000000000000000000000000000000000000000000000000000008552166004840152165afa908115610842575f91610813575090565b90506020813d60201161083a575b8161082e60209383610700565b810103126101d3575190565b3d9150610821565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff168015908115610870575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b90815181101561089c570160200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6108d28161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f06fdde030000000000000000000000000000000000000000000000000000000085526004815261092a816106b7565b51614e20948486fa9161093b610741565b92918215610ed7575b50508080610ecc575b610e55575b80610e4b575b610d64575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b1682526014845261099a846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b8382106109d257505050505090565b828591610d578451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b83820152019101906109c3565b9291905f5b8451811080610df5575b80610d9f575b15610d8657600101610d69565b939091929380610d96575061095d565b81529392505050565b507f7e000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610dec838861088b565b51161115610d79565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610e42838861088b565b51161015610d73565b5082815114610958565b8151838382810103126101d357848301518484019186835192149182610e8b575b5050610e825750610952565b94505050505090565b86019150818611610e9f5710155f80610e76565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50828251101561094d565b5f9350839250845190868201917fa3f4df7e00000000000000000000000000000000000000000000000000000000835260048152610f14816106b7565b5192fa610f1f610741565b905f80610944565b50604051610f34816106b7565b600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b610f6a8161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f95d89b4100000000000000000000000000000000000000000000000000000000855260048152610fc2816106b7565b51614e20948486fa91610fd3610741565b92918215611371575b50508080611366575b611325575b8061131b575b61123d575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b16825260148452611032846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b83821061106a57505050505090565b8285916112308451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061105b565b9291905f5b84518110806112c5575b8061126f575b1561125f57600101611242565b939091929380610d965750610ff5565b507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000006112bc838861088b565b51161115611252565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611312838861088b565b5116101561124c565b5082815114610ff0565b8151838382810103126101d357848301518484019186835192149182611352575b5050610e825750610fea565b86019150818611610e9f5710155f80611346565b508282511015610fe5565b5f9350839250845190868201917ff76f8d78000000000000000000000000000000000000000000000000000000008352600481526113ae816106b7565b5192fa6113b9610741565b905f80610fdc565b929160446020925f92604051917f095ea7b30000000000000000000000000000000000000000000000000000000083526004830152602482015282865af191826114085750565b9091503d1561141f575060015f5114601f3d111690565b3b15159056fea2646970667358221220b3612dac1f3cc0c32d9225978f33229b145cf59f7bb5818be66ef041eacbfa7464736f6c63430008190033";
|
|
18
18
|
static readonly abi: readonly [{
|
|
19
19
|
readonly inputs: readonly [{
|
|
20
20
|
readonly internalType: "contract IERC20";
|
|
@@ -180,7 +180,7 @@ const _abi = [
|
|
|
180
180
|
type: "function",
|
|
181
181
|
},
|
|
182
182
|
];
|
|
183
|
-
const _bytecode = "0x608034606f57601f6114e338819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b03191691909117905560405161145b90816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60406080815260049081361015610014575f80fd5b5f3560e01c806306fdde03146105f9578063095ea7b3146104b557806323b872dd146102f657806370a082311461029457806395d89b4114610232578063a41d3c2e146101d75763a9059cbb14610069575f80fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35761009a610694565b60243573ffffffffffffffffffffffffffffffffffffffff805f5416826100bd57005b6100c68161084d565b1561013f5750814710610116575f9283928392839216611388f16100e8610741565b50156100f057005b517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b505050517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b926044906020935f938751927fa9059cbb0000000000000000000000000000000000000000000000000000000084521688830152602482015282855af190816101b1575b501561018b57005b517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d156101cb575060015f5114601f3d11165b5f610183565b3b15156101c5565b5f80fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061022973ffffffffffffffffffffffffffffffffffffffff5f541661084d565b90519015158152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f5416610f61565b90519182918261064c565b0390f35b50346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906102ef6102d2610694565b73ffffffffffffffffffffffffffffffffffffffff5f541661079e565b9051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610329610694565b60243573ffffffffffffffffffffffffffffffffffffffff808216928383036101d35760443592825f5416908461035c57005b6103658261084d565b156104195750508234106103f15716913383036103c85730036103a05780341161038b57005b5f8080938193340390611388f16100e8610741565b5050517f57ca390a000000000000000000000000000000000000000000000000000000008152fd5b505050517f2a9c363d000000000000000000000000000000000000000000000000000000008152fd5b8585517fe2f844a0000000000000000000000000000000000000000000000000000000008152fd5b606492919550936020945f948851937f23b872dd00000000000000000000000000000000000000000000000000000000855216898401526024830152604482015282855af19081610493575b501561046d57005b517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b90503d156104ad575060015f5114601f3d11165b5f610465565b3b15156104a7565b50346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104ec610694565b60243573ffffffffffffffffffffffffffffffffffffffff5f5416916105118361084d565b6105d0576105208282856113c1565b1561052757005b60205f604486517f095ea7b3000000000000000000000000000000000000000000000000000000008152848982015282602482015282875af1806105b1575b1592831561059e575b50505061057857005b517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b6105a893506113c1565b155f808061056f565b503d156105c75760015f5114601f3d1116610566565b823b1515610566565b505050517f4ca17a99000000000000000000000000000000000000000000000000000000008152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f54166108c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6040810190811067ffffffffffffffff8211176106d357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106d357604052565b3d15610799573d9067ffffffffffffffff82116106d3576040519161078e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610700565b82523d5f602084013e565b606090565b6107a78161084d565b156107b157503190565b90602090602473ffffffffffffffffffffffffffffffffffffffff918260405195869485937f70a08231000000000000000000000000000000000000000000000000000000008552166004840152165afa908115610842575f91610813575090565b90506020813d60201161083a575b8161082e60209383610700565b810103126101d3575190565b3d9150610821565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff168015908115610870575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b90815181101561089c570160200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6108d28161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f06fdde030000000000000000000000000000000000000000000000000000000085526004815261092a816106b7565b51614e20948486fa9161093b610741565b92918215610ed7575b50508080610ecc575b610e55575b80610e4b575b610d64575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b1682526014845261099a846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b8382106109d257505050505090565b828591610d578451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b83820152019101906109c3565b9291905f5b8451811080610df5575b80610d9f575b15610d8657600101610d69565b939091929380610d96575061095d565b81529392505050565b507f7e000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610dec838861088b565b51161115610d79565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610e42838861088b565b51161015610d73565b5082815114610958565b8151838382810103126101d357848301518484019186835192149182610e8b575b5050610e825750610952565b94505050505090565b86019150818611610e9f5710155f80610e76565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50828251101561094d565b5f9350839250845190868201917fa3f4df7e00000000000000000000000000000000000000000000000000000000835260048152610f14816106b7565b5192fa610f1f610741565b905f80610944565b50604051610f34816106b7565b600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b610f6a8161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f95d89b4100000000000000000000000000000000000000000000000000000000855260048152610fc2816106b7565b51614e20948486fa91610fd3610741565b92918215611371575b50508080611366575b611325575b8061131b575b61123d575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b16825260148452611032846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b83821061106a57505050505090565b8285916112308451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061105b565b9291905f5b84518110806112c5575b8061126f575b1561125f57600101611242565b939091929380610d965750610ff5565b507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000006112bc838861088b565b51161115611252565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611312838861088b565b5116101561124c565b5082815114610ff0565b8151838382810103126101d357848301518484019186835192149182611352575b5050610e825750610fea565b86019150818611610e9f5710155f80611346565b508282511015610fe5565b5f9350839250845190868201917ff76f8d78000000000000000000000000000000000000000000000000000000008352600481526113ae816106b7565b5192fa6113b9610741565b905f80610fdc565b929160446020925f92604051917f095ea7b30000000000000000000000000000000000000000000000000000000083526004830152602482015282865af191826114085750565b9091503d1561141f575060015f5114601f3d111690565b3b15159056fea2646970667358221220bef08c9cc4ba5c36597736672c543702c8076c001c0654bbe0e8d0e871e1b70864736f6c63430008190033";
|
|
183
|
+
const _bytecode = "0x608034606f57601f6114e338819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b03191691909117905560405161145b90816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60406080815260049081361015610014575f80fd5b5f3560e01c806306fdde03146105f9578063095ea7b3146104b557806323b872dd146102f657806370a082311461029457806395d89b4114610232578063a41d3c2e146101d75763a9059cbb14610069575f80fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35761009a610694565b60243573ffffffffffffffffffffffffffffffffffffffff805f5416826100bd57005b6100c68161084d565b1561013f5750814710610116575f9283928392839216611388f16100e8610741565b50156100f057005b517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b505050517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b926044906020935f938751927fa9059cbb0000000000000000000000000000000000000000000000000000000084521688830152602482015282855af190816101b1575b501561018b57005b517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d156101cb575060015f5114601f3d11165b5f610183565b3b15156101c5565b5f80fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061022973ffffffffffffffffffffffffffffffffffffffff5f541661084d565b90519015158152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f5416610f61565b90519182918261064c565b0390f35b50346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906102ef6102d2610694565b73ffffffffffffffffffffffffffffffffffffffff5f541661079e565b9051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610329610694565b60243573ffffffffffffffffffffffffffffffffffffffff808216928383036101d35760443592825f5416908461035c57005b6103658261084d565b156104195750508234106103f15716913383036103c85730036103a05780341161038b57005b5f8080938193340390611388f16100e8610741565b5050517f57ca390a000000000000000000000000000000000000000000000000000000008152fd5b505050517f2a9c363d000000000000000000000000000000000000000000000000000000008152fd5b8585517fe2f844a0000000000000000000000000000000000000000000000000000000008152fd5b606492919550936020945f948851937f23b872dd00000000000000000000000000000000000000000000000000000000855216898401526024830152604482015282855af19081610493575b501561046d57005b517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b90503d156104ad575060015f5114601f3d11165b5f610465565b3b15156104a7565b50346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104ec610694565b60243573ffffffffffffffffffffffffffffffffffffffff5f5416916105118361084d565b6105d0576105208282856113c1565b1561052757005b60205f604486517f095ea7b3000000000000000000000000000000000000000000000000000000008152848982015282602482015282875af1806105b1575b1592831561059e575b50505061057857005b517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b6105a893506113c1565b155f808061056f565b503d156105c75760015f5114601f3d1116610566565b823b1515610566565b505050517f4ca17a99000000000000000000000000000000000000000000000000000000008152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576102909061028573ffffffffffffffffffffffffffffffffffffffff5f54166108c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6040810190811067ffffffffffffffff8211176106d357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106d357604052565b3d15610799573d9067ffffffffffffffff82116106d3576040519161078e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610700565b82523d5f602084013e565b606090565b6107a78161084d565b156107b157503190565b90602090602473ffffffffffffffffffffffffffffffffffffffff918260405195869485937f70a08231000000000000000000000000000000000000000000000000000000008552166004840152165afa908115610842575f91610813575090565b90506020813d60201161083a575b8161082e60209383610700565b810103126101d3575190565b3d9150610821565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff168015908115610870575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b90815181101561089c570160200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6108d28161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f06fdde030000000000000000000000000000000000000000000000000000000085526004815261092a816106b7565b51614e20948486fa9161093b610741565b92918215610ed7575b50508080610ecc575b610e55575b80610e4b575b610d64575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b1682526014845261099a846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b8382106109d257505050505090565b828591610d578451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b83820152019101906109c3565b9291905f5b8451811080610df5575b80610d9f575b15610d8657600101610d69565b939091929380610d96575061095d565b81529392505050565b507f7e000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610dec838861088b565b51161115610d79565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610e42838861088b565b51161015610d73565b5082815114610958565b8151838382810103126101d357848301518484019186835192149182610e8b575b5050610e825750610952565b94505050505090565b86019150818611610e9f5710155f80610e76565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50828251101561094d565b5f9350839250845190868201917fa3f4df7e00000000000000000000000000000000000000000000000000000000835260048152610f14816106b7565b5192fa610f1f610741565b905f80610944565b50604051610f34816106b7565b600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b610f6a8161084d565b610f275773ffffffffffffffffffffffffffffffffffffffff8116604080516020925f80858401937f95d89b4100000000000000000000000000000000000000000000000000000000855260048152610fc2816106b7565b51614e20948486fa91610fd3610741565b92918215611371575b50508080611366575b611325575b8061131b575b61123d575b50918251927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008385019260601b16825260148452611032846106b7565b8051938381518060011b94600260228901966022818b01018752613078828b0152018852920101925b83821061106a57505050505090565b8285916112308451610b98817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061105b565b9291905f5b84518110806112c5575b8061126f575b1561125f57600101611242565b939091929380610d965750610ff5565b507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000006112bc838861088b565b51161115611252565b507f20000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611312838861088b565b5116101561124c565b5082815114610ff0565b8151838382810103126101d357848301518484019186835192149182611352575b5050610e825750610fea565b86019150818611610e9f5710155f80611346565b508282511015610fe5565b5f9350839250845190868201917ff76f8d78000000000000000000000000000000000000000000000000000000008352600481526113ae816106b7565b5192fa6113b9610741565b905f80610fdc565b929160446020925f92604051917f095ea7b30000000000000000000000000000000000000000000000000000000083526004830152602482015282865af191826114085750565b9091503d1561141f575060015f5114601f3d111690565b3b15159056fea2646970667358221220b3612dac1f3cc0c32d9225978f33229b145cf59f7bb5818be66ef041eacbfa7464736f6c63430008190033";
|
|
184
184
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
185
185
|
class UniERC20Wrapper__factory extends ethers_1.ContractFactory {
|
|
186
186
|
constructor(...args) {
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1inch/solidity-utils",
|
|
3
|
-
"version": "4.1
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"main": "dist/src/index.js",
|
|
5
5
|
"types": "dist/src/index.d.ts",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dist/src/index.js",
|
|
8
|
-
"./hardhat-setup": "./dist/hardhat-setup/index.js"
|
|
8
|
+
"./hardhat-setup": "./dist/hardhat-setup/index.js",
|
|
9
|
+
"./docgen": "./dist/docgen/index.js"
|
|
9
10
|
},
|
|
10
11
|
"repository": {
|
|
11
12
|
"type": "git",
|
|
@@ -14,10 +15,12 @@
|
|
|
14
15
|
"license": "MIT",
|
|
15
16
|
"scripts": {
|
|
16
17
|
"clean": "rimraf artifacts cache coverage contracts/hardhat-dependency-compiler dist typechain-types",
|
|
17
|
-
"build": "yarn typechain && cti src hardhat-setup -b && tsc -p tsconfig.publish.json",
|
|
18
|
+
"build": "yarn typechain && cti src hardhat-setup docgen -b && tsc -p tsconfig.publish.json",
|
|
18
19
|
"prepack": "yarn clean && yarn build",
|
|
19
20
|
"coverage": "hardhat coverage",
|
|
20
|
-
"
|
|
21
|
+
"docgen": "yarn docgen:sol && yarn docgen:ts",
|
|
22
|
+
"docgen:ts": "npx typedoc --options typedoc.json 2>&1 | grep -v \"typechain-types\"",
|
|
23
|
+
"docgen:sol": "yarn hardhat docgen; npx solidity-utils-docify",
|
|
21
24
|
"format": "yarn format-ts && yarn format-sol",
|
|
22
25
|
"format-ts": "prettier '**/*.ts' --write",
|
|
23
26
|
"format-sol": "prettier '**/*.sol' --write",
|
|
@@ -61,7 +64,6 @@
|
|
|
61
64
|
"acquit": "1.3.0",
|
|
62
65
|
"commander": "12.0.0",
|
|
63
66
|
"create-ts-index": "1.14.0",
|
|
64
|
-
"cross-spawn": "7.0.3",
|
|
65
67
|
"eslint": "8.57.0",
|
|
66
68
|
"eslint-config-standard": "17.1.0",
|
|
67
69
|
"eslint-plugin-import": "2.29.1",
|
|
@@ -74,7 +76,7 @@
|
|
|
74
76
|
"solc": "0.8.25",
|
|
75
77
|
"solhint": "4.5.2",
|
|
76
78
|
"solidity-coverage": "0.8.11",
|
|
77
|
-
"solidity-docgen": "0.
|
|
79
|
+
"solidity-docgen": "0.6.0-beta.36",
|
|
78
80
|
"ts-node": "10.9.2",
|
|
79
81
|
"typechain": "8.3.2",
|
|
80
82
|
"typedoc": "0.25.12",
|
|
@@ -99,6 +101,7 @@
|
|
|
99
101
|
"contracts/*.sol",
|
|
100
102
|
"contracts/interfaces",
|
|
101
103
|
"contracts/libraries",
|
|
104
|
+
"contracts/mixins",
|
|
102
105
|
"contracts/mocks"
|
|
103
106
|
]
|
|
104
107
|
}
|
package/utils/README.md
CHANGED
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
Generates documentation in markdown format from natspec docs
|
|
6
6
|
|
|
7
7
|
##### Usage
|
|
8
|
-
Add to `package.json` file solidity compiler version (add version you use), solidity-docgen
|
|
8
|
+
Add to `package.json` file solidity compiler version (add version you use), solidity-docgen 0.6 util and shortcut to run command
|
|
9
9
|
|
|
10
10
|
`devDependencies` section
|
|
11
11
|
|
|
12
12
|
```
|
|
13
13
|
"solc": "0.8.23",
|
|
14
|
-
"solidity-docgen": "0.
|
|
14
|
+
"solidity-docgen": "0.6.0-beta.36",
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
`scripts` section
|
|
18
18
|
```
|
|
19
|
-
"docify": "npx solidity-utils-docify"
|
|
19
|
+
"docify": "yarn hardhat docgen; npx solidity-utils-docify"
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
You can set output directory with ENV variable:
|
|
@@ -24,7 +24,25 @@ You can set output directory with ENV variable:
|
|
|
24
24
|
"docify": "DOCGEN_OUTPUT_DIR=./docs npx solidity-utils-docify"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
Then set appopriate settings for docgen in `hardhat.config.js` file
|
|
28
|
+
|
|
29
|
+
```JavaScript
|
|
30
|
+
require('solidity-docgen');
|
|
31
|
+
|
|
32
|
+
// You can use 1inch templates built-in templates
|
|
33
|
+
const { oneInchTemplates } = require('@1inch/solidity-utils/docgen');
|
|
34
|
+
|
|
35
|
+
module.exports = {
|
|
27
36
|
...
|
|
37
|
+
docgen: {
|
|
38
|
+
outputDir: "docs", // Can be omitted, docs used by default
|
|
39
|
+
templates: oneInchTemplates(), // 1inch templates
|
|
40
|
+
pages: 'files', // Doc output format for 1inch templates
|
|
41
|
+
exclude: ['mocks', 'test'], // Directories to exclude from generation
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
```
|
|
28
46
|
|
|
29
47
|
#### Dependencies list (imports-list)
|
|
30
48
|
|
package/utils/docify.utils.js
CHANGED
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const SOLC_NPM_NAME = 'solc';
|
|
3
2
|
const BASE_DIR = 'docs';
|
|
4
|
-
const
|
|
5
|
-
const INPUT_DIR = 'contracts';
|
|
6
|
-
const OUTPUT_DIR = process.env.DOCGEN_OUTPUT_DIR || `${BASE_DIR}/contracts`;
|
|
7
|
-
const HELPERS_PATH = `${SCRIPT_DIR}/solidity-docgen-helpers.js`;
|
|
3
|
+
const OUTPUT_DIR = process.env.DOCGEN_OUTPUT_DIR || `${BASE_DIR}`;
|
|
8
4
|
|
|
9
5
|
const fs = require('fs');
|
|
10
6
|
const path = require('path');
|
|
11
|
-
const spawn = require('cross-spawn');
|
|
12
7
|
|
|
13
8
|
function getFileNameWithoutExtension (fileName) {
|
|
14
9
|
return fileName.substr(0, fileName.lastIndexOf('.'));
|
|
15
10
|
}
|
|
16
11
|
|
|
17
|
-
function runProcess (name, args) {
|
|
18
|
-
console.log(`running ${name} with args ${JSON.stringify(args)}`);
|
|
19
|
-
const result = spawn.sync(name, args, { stdio: ['inherit', 'inherit', 'pipe'] });
|
|
20
|
-
if (result.stderr.length > 0) {
|
|
21
|
-
throw new Error(result.stderr);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
12
|
function getReadmes (targetPath) {
|
|
26
13
|
let result = [];
|
|
27
14
|
const readmePath = path.join(targetPath, 'README.md');
|
|
@@ -108,23 +95,5 @@ function removeUnwantedDocs () {
|
|
|
108
95
|
}
|
|
109
96
|
}
|
|
110
97
|
|
|
111
|
-
const solidityDocgenArgs = [
|
|
112
|
-
'solidity-docgen',
|
|
113
|
-
'-i',
|
|
114
|
-
INPUT_DIR,
|
|
115
|
-
'-o',
|
|
116
|
-
OUTPUT_DIR,
|
|
117
|
-
'--solc-module',
|
|
118
|
-
SOLC_NPM_NAME,
|
|
119
|
-
'--solc-settings',
|
|
120
|
-
JSON.stringify({ optimizer: { enabled: false } }),
|
|
121
|
-
'--templates',
|
|
122
|
-
SCRIPT_DIR,
|
|
123
|
-
'--helpers',
|
|
124
|
-
HELPERS_PATH,
|
|
125
|
-
];
|
|
126
|
-
|
|
127
|
-
fs.rmSync(OUTPUT_DIR, { force: true, recursive: true });
|
|
128
|
-
runProcess('npx', solidityDocgenArgs);
|
|
129
98
|
generateGitbookFiles();
|
|
130
99
|
removeUnwantedDocs();
|
package/utils/contract.hbs
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# {{{name}}}
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
{{{natspec.title}}}
|
|
5
|
-
{{{natspec.userdoc}}}
|
|
6
|
-
{{{natspec.devdoc}}}
|
|
7
|
-
|
|
8
|
-
{{#if (withoutFirstElement inheritance)}}
|
|
9
|
-
## Derives
|
|
10
|
-
{{/if}}
|
|
11
|
-
{{#each (withoutFirstElement inheritance)}}
|
|
12
|
-
{{#if (getRelativeDocPath name source.contractsDir source.solcOutput.sources)}}
|
|
13
|
-
- [{{name}}]({{getRelativeDocPath name source.contractsDir source.solcOutput.sources}})
|
|
14
|
-
{{else}}
|
|
15
|
-
- {{name}}
|
|
16
|
-
{{/if}}
|
|
17
|
-
{{/each}}
|
|
18
|
-
|
|
19
|
-
{{#if ownFunctions}}
|
|
20
|
-
## Functions
|
|
21
|
-
{{/if}}
|
|
22
|
-
{{#ownFunctions}}
|
|
23
|
-
### {{name}}
|
|
24
|
-
```solidity
|
|
25
|
-
function {{name}}(
|
|
26
|
-
{{#args}}
|
|
27
|
-
{{type}} {{name}}{{#if @last}}{{else}},{{/if}}
|
|
28
|
-
{{/args}}
|
|
29
|
-
) {{visibility}}{{#if outputs}} returns ({{outputs}}){{/if}}
|
|
30
|
-
```
|
|
31
|
-
{{#if natspec.userdoc}}{{natspec.userdoc}}{{/if}}
|
|
32
|
-
{{#if natspec.devdoc}}{{natspec.devdoc}}{{/if}}
|
|
33
|
-
{{#if args}}
|
|
34
|
-
#### Parameters:
|
|
35
|
-
| Name | Type | Description |
|
|
36
|
-
| :--- | :--- | :------------------------------------------------------------------- |
|
|
37
|
-
{{#args}}
|
|
38
|
-
|`{{name}}` | {{type}} | {{#with (lookup ../natspec.params @index)~}} {{ removeNewlines description }} {{/with}}
|
|
39
|
-
{{/args}}{{/if}}
|
|
40
|
-
{{#if natspec.returns}}
|
|
41
|
-
#### Return Values:
|
|
42
|
-
| Name | Type | Description |
|
|
43
|
-
| :----------------------------- | :------------ | :--------------------------------------------------------------------------- |
|
|
44
|
-
{{#natspec.returns}}
|
|
45
|
-
|`{{param}}`| {{#lookup ../outputs.types @index}}{{/lookup}} | {{{removeNewlines description}}}
|
|
46
|
-
{{/natspec.returns}}{{/if}}
|
|
47
|
-
{{/ownFunctions}}
|
|
48
|
-
{{#if ownEvents}}
|
|
49
|
-
## Events
|
|
50
|
-
{{/if}}
|
|
51
|
-
{{#ownEvents}}
|
|
52
|
-
### {{name}}
|
|
53
|
-
```solidity
|
|
54
|
-
event {{name}}(
|
|
55
|
-
{{#args}}
|
|
56
|
-
{{type}} {{name}}{{#if @last}}{{else}},{{/if}}
|
|
57
|
-
{{/args}}
|
|
58
|
-
)
|
|
59
|
-
```
|
|
60
|
-
{{#if natspec.userdoc}}{{natspec.userdoc}}{{/if}}
|
|
61
|
-
{{#if natspec.devdoc}}{{natspec.devdoc}}{{/if}}
|
|
62
|
-
{{#if args}}
|
|
63
|
-
#### Parameters:
|
|
64
|
-
| Name | Type | Description |
|
|
65
|
-
| :--- | :--- | :------------------------------------------------------------------- |
|
|
66
|
-
{{#args}}
|
|
67
|
-
|`{{name}}` | {{type}} | {{#with (lookup ../natspec.params @index)~}} {{ removeNewlines description }} {{/with}}
|
|
68
|
-
{{/args}}{{/if}}
|
|
69
|
-
{{/ownEvents}}
|