UNPKG

@volare.finance/volare.js

Version:
255 lines (254 loc) 24.3 kB
{ "_format": "hh-sol-artifact-1", "contractName": "VTokenFactory", "sourceName": "contracts/core/VTokenFactory.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressBook", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "tokenAddress", "type": "address" }, { "indexed": false, "internalType": "address", "name": "creator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "underlying", "type": "address" }, { "indexed": true, "internalType": "address", "name": "strike", "type": "address" }, { "indexed": true, "internalType": "address", "name": "collateral", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "strikePrice", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "isPut", "type": "bool" } ], "name": "VTokenCreated", "type": "event" }, { "inputs": [], "name": "addressBook", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_underlyingAsset", "type": "address" }, { "internalType": "address", "name": "_strikeAsset", "type": "address" }, { "internalType": "address", "name": "_collateralAsset", "type": "address" }, { "internalType": "uint256", "name": "_strikePrice", "type": "uint256" }, { "internalType": "uint256", "name": "_expiry", "type": "uint256" }, { "internalType": "bool", "name": "_isPut", "type": "bool" } ], "name": "createVToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_underlyingAsset", "type": "address" }, { "internalType": "address", "name": "_strikeAsset", "type": "address" }, { "internalType": "address", "name": "_collateralAsset", "type": "address" }, { "internalType": "uint256", "name": "_strikePrice", "type": "uint256" }, { "internalType": "uint256", "name": "_expiry", "type": "uint256" }, { "internalType": "bool", "name": "_isPut", "type": "bool" } ], "name": "getTargetVTokenAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_underlyingAsset", "type": "address" }, { "internalType": "address", "name": "_strikeAsset", "type": "address" }, { "internalType": "address", "name": "_collateralAsset", "type": "address" }, { "internalType": "uint256", "name": "_strikePrice", "type": "uint256" }, { "internalType": "uint256", "name": "_expiry", "type": "uint256" }, { "internalType": "bool", "name": "_isPut", "type": "bool" } ], "name": "getVToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVTokensLength", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "vTokens", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506040516110ac3803806110ac83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b61101b806100916000396000f3fe60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80630371dea6146200006f5780632ea3ad0c146200008557806393cb090e14620000b5578063cf2533f614620000cc578063e47b2ae014620000e3578063f5887cdd14620000fa575b600080fd5b6001546040519081526020015b60405180910390f35b6200009c6200009636600462000bbe565b6200010e565b6040516001600160a01b0390911681526020016200007c565b6200009c620000c636600462000c55565b6200072c565b6200009c620000dd36600462000bbe565b62000757565b6200009c620000f436600462000bbe565b6200078e565b6000546200009c906001600160a01b031681565b6000428311620001785760405162461bcd60e51b815260206004820152602a60248201527f56546f6b656e466163746f72793a2043616e27742063726561746520657870696044820152693932b21037b83a34b7b760b11b60648201526084015b60405180910390fd5b6402c33b9c808310620001f45760405162461bcd60e51b815260206004820152603b60248201527f56546f6b656e466163746f72793a2043616e277420637265617465206f70746960448201527f6f6e207769746820657870697279203e20323334352f31322f3331000000000060648201526084016200016f565b62000211620151806200020a8561708062000897565b90620008ac565b15620002765760405162461bcd60e51b815260206004820152602d60248201527f56546f6b656e466163746f72793a204f7074696f6e2068617320746f2065787060448201526c6972652030383a30302055544360981b60648201526084016200016f565b600062000288888888888888620008ba565b6000818152600260205260409020549091506001600160a01b031615620003005760405162461bcd60e51b815260206004820152602560248201527f56546f6b656e466163746f72793a204f7074696f6e20616c726561647920637260448201526419585d195960da1b60648201526084016200016f565b60008060009054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035057600080fd5b505afa15801562000365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038b919062000b9f565b60405163401a83cf60e01b81526001600160a01b038b811660048301528a81166024830152898116604483015286151560648301529192509082169063401a83cf9060840160206040518083038186803b158015620003e957600080fd5b505afa158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000424919062000c36565b6200047d5760405162461bcd60e51b815260206004820152602260248201527f56546f6b656e466163746f72793a20556e737570706f727465642050726f647560448201526118dd60f21b60648201526084016200016f565b8315806200048b5750600086115b620004f45760405162461bcd60e51b815260206004820152603260248201527f56546f6b656e466163746f72793a2043616e27742063726561746520612024306044820152711039ba3934b5b290383aba1037b83a34b7b760711b60648201526084016200016f565b60008060009054906101000a90046001600160a01b03166001600160a01b0316638c80f8d86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200054457600080fd5b505afa15801562000559573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200057f919062000b9f565b600080546040519293509091633d8c37cd60e21b91620005ba916001600160a01b03909116908e908e908e908e908e908e9060240162000ca1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506000620005fc838362000922565b60008681526002602052604080822080546001600160a01b038581166001600160a01b0319928316811790935560018054808201825595527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909401805490911682179055905163173fd09d60e01b8152600481019190915291925085169063173fd09d90602401600060405180830381600087803b1580156200069f57600080fd5b505af1158015620006b4573d6000803e3d6000fd5b5050604080516001600160a01b0385811682523360208301529181018d9052606081018c90528a15156080820152818e1693508e82169250908f16907f10e6c05ef1fcec0987b4149f208e508ddee3da76265aebe661c9a57d43022c779060a00160405180910390a49b9a5050505050505050505050565b600181815481106200073d57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000806200076a888888888888620008ba565b6000908152600260205260409020546001600160a01b031698975050505050505050565b60008054604080516311901f1b60e31b8152905183926001600160a01b031691638c80f8d8916004808301926020929190829003018186803b158015620007d457600080fd5b505afa158015620007e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200080f919062000b9f565b600080546040519293509091633d8c37cd60e21b916200084a916001600160a01b03909116908c908c908c908c908c908c9060240162000ca1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200088a8282620009a6565b9998505050505050505050565b6000620008a5828462000d29565b9392505050565b6000620008a5828462000d80565b604080516bffffffffffffffffffffffff19606098891b811660208084019190915297891b811660348301529590971b9094166048870152605c860192909252607c850152151560f81b609c8401528051808403607d018152609d9093019052815191012090565b60008060405180602001620009379062000b91565b601f1982820381018352601f9091011660408190526200095e908690869060200162000ce5565b60408051601f19818403018152908290526200097e929160200162000c6e565b60408051601f1981840301815291905290506200099e6000808362000a89565b949350505050565b60008060405180602001620009bb9062000b91565b601f1982820381018352601f909101166040819052620009e2908690869060200162000ce5565b60408051601f198184030181529082905262000a02929160200162000c6e565b60408051601f198184030181529190528051602082012090915062000a80600082604080516001600160f81b03196020808301919091523060601b6bffffffffffffffffffffffff191660218301526035820185905260558083018590528351808403909101815260759092019092528051910120600090620008a5565b95945050505050565b6000808447101562000ade5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016200016f565b825162000b2e5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016200016f565b8383516020850187f590506001600160a01b0381166200099e5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016200016f565b61021c8062000dca83390190565b60006020828403121562000bb1578081fd5b8151620008a58162000da1565b60008060008060008060c0878903121562000bd7578182fd5b863562000be48162000da1565b9550602087013562000bf68162000da1565b9450604087013562000c088162000da1565b9350606087013592506080870135915060a087013562000c288162000dba565b809150509295509295509295565b60006020828403121562000c48578081fd5b8151620008a58162000dba565b60006020828403121562000c67578081fd5b5035919050565b6000835162000c8281846020880162000d4d565b83519083019062000c9881836020880162000d4d565b01949350505050565b6001600160a01b03978816815295871660208701529386166040860152919094166060840152608083019390935260a082019290925290151560c082015260e00190565b600060018060a01b038416825260406020830152825180604084015262000d1481606085016020870162000d4d565b601f01601f1916919091016060019392505050565b60008282101562000d4857634e487b7160e01b81526011600452602481fd5b500390565b60005b8381101562000d6a57818101518382015260200162000d50565b8381111562000d7a576000848401525b50505050565b60008262000d9c57634e487b7160e01b81526012600452602481fd5b500690565b6001600160a01b038116811462000db757600080fd5b50565b801515811462000db757600080fdfe608060405260405161021c38038061021c833981016040819052610022916100f0565b6000826001600160a01b03168260405161003c91906101b9565b600060405180830381855af49150503d8060008114610077576040519150601f19603f3d011682016040523d82523d6000602084013e61007c565b606091505b505090508061008f573d6000803e3d6000fd5b60405169363d3d373d3d3d363d7360b01b60208201526001600160601b0319606085901b16602a8201526e5af43d82803e903d91602b57fd5bf360881b603e820152600090604d016040516020818303038152906040529050602d81602001f35b60008060408385031215610102578182fd5b82516001600160a01b0381168114610118578283fd5b60208401519092506001600160401b0380821115610134578283fd5b818501915085601f830112610147578283fd5b81518181111561015957610159610205565b604051601f8201601f19908116603f0116810190838211818310171561018157610181610205565b81604052828152886020848701011115610199578586fd5b6101aa8360208301602088016101d5565b80955050505050509250929050565b600082516101cb8184602087016101d5565b9190910192915050565b60005b838110156101f05781810151838201526020016101d8565b838111156101ff576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220248293bba27d977860bcccb47113c10ec7979e9798736bf62d81a733f9abbdf064736f6c63430008020033", "deployedBytecode": "0x60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80630371dea6146200006f5780632ea3ad0c146200008557806393cb090e14620000b5578063cf2533f614620000cc578063e47b2ae014620000e3578063f5887cdd14620000fa575b600080fd5b6001546040519081526020015b60405180910390f35b6200009c6200009636600462000bbe565b6200010e565b6040516001600160a01b0390911681526020016200007c565b6200009c620000c636600462000c55565b6200072c565b6200009c620000dd36600462000bbe565b62000757565b6200009c620000f436600462000bbe565b6200078e565b6000546200009c906001600160a01b031681565b6000428311620001785760405162461bcd60e51b815260206004820152602a60248201527f56546f6b656e466163746f72793a2043616e27742063726561746520657870696044820152693932b21037b83a34b7b760b11b60648201526084015b60405180910390fd5b6402c33b9c808310620001f45760405162461bcd60e51b815260206004820152603b60248201527f56546f6b656e466163746f72793a2043616e277420637265617465206f70746960448201527f6f6e207769746820657870697279203e20323334352f31322f3331000000000060648201526084016200016f565b62000211620151806200020a8561708062000897565b90620008ac565b15620002765760405162461bcd60e51b815260206004820152602d60248201527f56546f6b656e466163746f72793a204f7074696f6e2068617320746f2065787060448201526c6972652030383a30302055544360981b60648201526084016200016f565b600062000288888888888888620008ba565b6000818152600260205260409020549091506001600160a01b031615620003005760405162461bcd60e51b815260206004820152602560248201527f56546f6b656e466163746f72793a204f7074696f6e20616c726561647920637260448201526419585d195960da1b60648201526084016200016f565b60008060009054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035057600080fd5b505afa15801562000365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038b919062000b9f565b60405163401a83cf60e01b81526001600160a01b038b811660048301528a81166024830152898116604483015286151560648301529192509082169063401a83cf9060840160206040518083038186803b158015620003e957600080fd5b505afa158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000424919062000c36565b6200047d5760405162461bcd60e51b815260206004820152602260248201527f56546f6b656e466163746f72793a20556e737570706f727465642050726f647560448201526118dd60f21b60648201526084016200016f565b8315806200048b5750600086115b620004f45760405162461bcd60e51b815260206004820152603260248201527f56546f6b656e466163746f72793a2043616e27742063726561746520612024306044820152711039ba3934b5b290383aba1037b83a34b7b760711b60648201526084016200016f565b60008060009054906101000a90046001600160a01b03166001600160a01b0316638c80f8d86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200054457600080fd5b505afa15801562000559573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200057f919062000b9f565b600080546040519293509091633d8c37cd60e21b91620005ba916001600160a01b03909116908e908e908e908e908e908e9060240162000ca1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506000620005fc838362000922565b60008681526002602052604080822080546001600160a01b038581166001600160a01b0319928316811790935560018054808201825595527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909401805490911682179055905163173fd09d60e01b8152600481019190915291925085169063173fd09d90602401600060405180830381600087803b1580156200069f57600080fd5b505af1158015620006b4573d6000803e3d6000fd5b5050604080516001600160a01b0385811682523360208301529181018d9052606081018c90528a15156080820152818e1693508e82169250908f16907f10e6c05ef1fcec0987b4149f208e508ddee3da76265aebe661c9a57d43022c779060a00160405180910390a49b9a5050505050505050505050565b600181815481106200073d57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000806200076a888888888888620008ba565b6000908152600260205260409020546001600160a01b031698975050505050505050565b60008054604080516311901f1b60e31b8152905183926001600160a01b031691638c80f8d8916004808301926020929190829003018186803b158015620007d457600080fd5b505afa158015620007e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200080f919062000b9f565b600080546040519293509091633d8c37cd60e21b916200084a916001600160a01b03909116908c908c908c908c908c908c9060240162000ca1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200088a8282620009a6565b9998505050505050505050565b6000620008a5828462000d29565b9392505050565b6000620008a5828462000d80565b604080516bffffffffffffffffffffffff19606098891b811660208084019190915297891b811660348301529590971b9094166048870152605c860192909252607c850152151560f81b609c8401528051808403607d018152609d9093019052815191012090565b60008060405180602001620009379062000b91565b601f1982820381018352601f9091011660408190526200095e908690869060200162000ce5565b60408051601f19818403018152908290526200097e929160200162000c6e565b60408051601f1981840301815291905290506200099e6000808362000a89565b949350505050565b60008060405180602001620009bb9062000b91565b601f1982820381018352601f909101166040819052620009e2908690869060200162000ce5565b60408051601f198184030181529082905262000a02929160200162000c6e565b60408051601f198184030181529190528051602082012090915062000a80600082604080516001600160f81b03196020808301919091523060601b6bffffffffffffffffffffffff191660218301526035820185905260558083018590528351808403909101815260759092019092528051910120600090620008a5565b95945050505050565b6000808447101562000ade5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016200016f565b825162000b2e5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016200016f565b8383516020850187f590506001600160a01b0381166200099e5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016200016f565b61021c8062000dca83390190565b60006020828403121562000bb1578081fd5b8151620008a58162000da1565b60008060008060008060c0878903121562000bd7578182fd5b863562000be48162000da1565b9550602087013562000bf68162000da1565b9450604087013562000c088162000da1565b9350606087013592506080870135915060a087013562000c288162000dba565b809150509295509295509295565b60006020828403121562000c48578081fd5b8151620008a58162000dba565b60006020828403121562000c67578081fd5b5035919050565b6000835162000c8281846020880162000d4d565b83519083019062000c9881836020880162000d4d565b01949350505050565b6001600160a01b03978816815295871660208701529386166040860152919094166060840152608083019390935260a082019290925290151560c082015260e00190565b600060018060a01b038416825260406020830152825180604084015262000d1481606085016020870162000d4d565b601f01601f1916919091016060019392505050565b60008282101562000d4857634e487b7160e01b81526011600452602481fd5b500390565b60005b8381101562000d6a57818101518382015260200162000d50565b8381111562000d7a576000848401525b50505050565b60008262000d9c57634e487b7160e01b81526012600452602481fd5b500690565b6001600160a01b038116811462000db757600080fd5b50565b801515811462000db757600080fdfe608060405260405161021c38038061021c833981016040819052610022916100f0565b6000826001600160a01b03168260405161003c91906101b9565b600060405180830381855af49150503d8060008114610077576040519150601f19603f3d011682016040523d82523d6000602084013e61007c565b606091505b505090508061008f573d6000803e3d6000fd5b60405169363d3d373d3d3d363d7360b01b60208201526001600160601b0319606085901b16602a8201526e5af43d82803e903d91602b57fd5bf360881b603e820152600090604d016040516020818303038152906040529050602d81602001f35b60008060408385031215610102578182fd5b82516001600160a01b0381168114610118578283fd5b60208401519092506001600160401b0380821115610134578283fd5b818501915085601f830112610147578283fd5b81518181111561015957610159610205565b604051601f8201601f19908116603f0116810190838211818310171561018157610181610205565b81604052828152886020848701011115610199578586fd5b6101aa8360208301602088016101d5565b80955050505050509250929050565b600082516101cb8184602087016101d5565b9190910192915050565b60005b838110156101f05781810151838201526020016101d8565b838111156101ff576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220248293bba27d977860bcccb47113c10ec7979e9798736bf62d81a733f9abbdf064736f6c63430008020033", "linkReferences": {}, "deployedLinkReferences": {} }