@etherisc/gif-next 0.0.2-836a512-798 → 0.0.2-839b2a2-792

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.
Files changed (149) hide show
  1. package/README.md +8 -0
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
  3. package/artifacts/contracts/components/Component.sol/Component.json +1 -1
  4. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +1 -1
  5. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +2 -2
  6. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +1 -1
  8. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  10. package/artifacts/contracts/components/Pool.sol/Pool.json +5 -5
  11. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  12. package/artifacts/contracts/components/Product.sol/Product.json +5 -5
  13. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  15. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  17. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  19. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  21. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  29. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  33. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  35. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  37. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  40. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +137 -21
  41. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  42. package/artifacts/contracts/instance/Instance.sol/Instance.json +175 -35
  43. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +1 -1
  44. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +1 -1
  45. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +1 -1
  46. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +1 -1
  47. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  48. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  49. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +2 -21
  50. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +65 -10
  52. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +1 -1
  53. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +1 -1
  54. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +1 -1
  55. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  56. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +2 -21
  57. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +1 -1
  58. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +47 -0
  59. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +1 -1
  60. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  61. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +1 -1
  62. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +1 -1
  63. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +2 -2
  64. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  65. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  66. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  67. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  68. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  69. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  70. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +1 -1
  71. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +1 -1
  73. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +1 -1
  74. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +14 -14
  75. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  76. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  77. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +135 -0
  78. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  79. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  80. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  81. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +135 -0
  82. package/artifacts/contracts/mock/Dip.sol/DIP.dbg.json +4 -0
  83. package/artifacts/contracts/mock/Dip.sol/DIP.json +338 -0
  84. package/artifacts/contracts/mock/TestPool.sol/TestPool.dbg.json +4 -0
  85. package/artifacts/contracts/mock/TestPool.sol/TestPool.json +294 -0
  86. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.dbg.json +4 -0
  87. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.json +384 -0
  88. package/artifacts/contracts/mock/Usdc.sol/USDC.dbg.json +4 -0
  89. package/artifacts/contracts/mock/Usdc.sol/USDC.json +338 -0
  90. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  91. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  92. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  93. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +1 -1
  94. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +1 -1
  95. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  96. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +1 -1
  97. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +1 -1
  98. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  99. package/artifacts/contracts/registry/Registry.sol/Registry.json +10 -10
  100. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +1 -1
  101. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +2 -2
  102. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  103. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  104. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  105. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  106. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  107. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  108. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  109. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  110. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  111. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  112. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  113. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +2 -2
  114. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  115. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +37 -11
  116. package/contracts/components/Component.sol +12 -12
  117. package/contracts/components/IPool.sol +6 -2
  118. package/contracts/components/IProduct.sol +7 -2
  119. package/contracts/components/Pool.sol +14 -7
  120. package/contracts/components/Product.sol +14 -6
  121. package/contracts/experiment/statemachine/Dummy.sol +12 -18
  122. package/contracts/experiment/statemachine/ISM.sol +7 -2
  123. package/contracts/experiment/statemachine/SM.sol +15 -12
  124. package/contracts/experiment/statemachine/SimpleStateMachine.sol +11 -4
  125. package/contracts/instance/IInstance.sol +4 -1
  126. package/contracts/instance/Instance.sol +8 -5
  127. package/contracts/instance/component/ComponentModule.sol +55 -35
  128. package/contracts/instance/component/IComponent.sol +12 -14
  129. package/contracts/instance/lifecycle/ILifecycle.sol +32 -17
  130. package/contracts/instance/lifecycle/LifecycleModule.sol +28 -31
  131. package/contracts/instance/policy/IPolicy.sol +0 -2
  132. package/contracts/instance/policy/PolicyModule.sol +14 -7
  133. package/contracts/instance/pool/IPoolModule.sol +3 -2
  134. package/contracts/instance/pool/PoolModule.sol +11 -12
  135. package/contracts/instance/product/ProductService.sol +30 -12
  136. package/contracts/instance/treasury/ITreasury.sol +43 -25
  137. package/contracts/instance/treasury/TokenHandler.sol +1 -4
  138. package/contracts/instance/treasury/TreasuryModule.sol +82 -45
  139. package/contracts/mock/Dip.sol +26 -0
  140. package/contracts/mock/TestPool.sol +16 -0
  141. package/contracts/mock/TestProduct.sol +39 -0
  142. package/contracts/mock/Usdc.sol +26 -0
  143. package/contracts/registry/IRegistry.sol +0 -2
  144. package/contracts/registry/Registry.sol +7 -2
  145. package/contracts/types/Fee.sol +6 -4
  146. package/contracts/types/ObjectType.sol +77 -20
  147. package/contracts/types/StateId.sol +68 -23
  148. package/contracts/types/UFixed.sol +18 -14
  149. package/package.json +4 -2
@@ -207,26 +207,26 @@
207
207
  "type": "function"
208
208
  }
209
209
  ],
210
- "bytecode": "0x608060405234801561001057600080fd5b50611e73806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be9a71bd11610066578063be9a71bd1461016f578063c3c5a5471461018d578063c4d66de8146101bd578063d272ac1e146101d9578063df33330b146102095761009e565b80631a848cfb146100a35780631d1b0cac146100c15780633fe9300e146100f15780634420e4861461010f5780634c3371cd1461013f575b600080fd5b6100ab610239565b6040516100b891906115a2565b60405180910390f35b6100db60048036038101906100d6919061169d565b6102d1565b6040516100e8919061172b565b60405180910390f35b6100f96105c8565b60405161010691906117d6565b60405180910390f35b610129600480360381019061012491906117f8565b6105db565b604051610136919061172b565b60405180910390f35b61015960048036038101906101549190611825565b610fa0565b6040516101669190611909565b60405180910390f35b61017761112d565b6040516101849190611933565b60405180910390f35b6101a760048036038101906101a291906117f8565b611157565b6040516101b49190611969565b60405180910390f35b6101d760048036038101906101d291906117f8565b61123f565b005b6101f360048036038101906101ee91906117f8565b611314565b604051610200919061172b565b60405180910390f35b610223600480360381019061021e9190611825565b611375565b6040516102309190611933565b60405180910390f35b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102cc91906119b0565b905090565b60006102e4836102df6114a1565b6114b2565b806102fc57506102fb836102f66114c5565b6114b2565b5b61033b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033290611a29565b60405180910390fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0def52184604051806020016040528060008152506040518363ffffffff1660e01b81526004016103a9929190611a49565b6020604051808303816000875af11580156103c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ec91906119b0565b90506103f7816114d6565b915060006040518060a00160405280846bffffffffffffffffffffffff168152602001876bffffffffffffffffffffffff1681526020018660ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815250905080600080856bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550602082015181600001600c6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060408201518160000160186101000a81548160ff021916908360ff16021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505050509392505050565b6040518060200160405280600081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6352694ee890916040518263ffffffff1660e01b815260040161067b9190611a88565b602060405180830381865af4158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc9190611acf565b6106fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f290611b48565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166379e829d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190611acf565b6107ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a590611bb4565b60405180910390fd5b61082d8173ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611be9565b6108286114e0565b6114f1565b15610aef5760008060008373ffffffffffffffffffffffffffffffffffffffff166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611c2b565b6bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200160008201600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020016000820160189054906101000a900460ff1660ff1660ff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401610a6d9190611a88565b602060405180830381865af4158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611acf565b610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae490611ca4565b60405180910390fd5b505b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0def5218373ffffffffffffffffffffffffffffffffffffffff1663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9e9190611cd9565b604051806020016040528060008152506040518363ffffffff1660e01b8152600401610bcb929190611a49565b6020604051808303816000875af1158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e91906119b0565b9050610c19816114d6565b925060006040518060a00160405280856bffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611c2b565b6bffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190611be9565b60ff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc09190611cd9565b73ffffffffffffffffffffffffffffffffffffffff16815250905080600080866bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550602082015181600001600c6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060408201518160000160186101000a81548160ff021916908360ff16021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505050919050565b610fa861150f565b600080836bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200160008201600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020016000820160189054906101000a900460ff1660ff1660ff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016111f79190611a88565b602060405180830381865af4158015611214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190611acf565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c790611d78565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff169050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6308dc895e90916040518263ffffffff1660e01b81526004016113fc9190611a88565b602060405180830381865af4158015611419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143d9190611dc4565b6040518263ffffffff1660e01b81526004016114599190611e22565b602060405180830381865afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190611cd9565b9050919050565b60006114ad605a611505565b905090565b60008160ff168360ff1614905092915050565b60006114d16051611505565b905090565b6000819050919050565b60006114ec6032611505565b905090565b60008160ff168360ff161415905092915050565b6000819050919050565b6040518060a0016040528060006bffffffffffffffffffffffff16815260200160006bffffffffffffffffffffffff168152602001600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000819050919050565b61159c81611589565b82525050565b60006020820190506115b76000830184611593565b92915050565b600080fd5b60006bffffffffffffffffffffffff82169050919050565b6115e3816115c2565b81146115ee57600080fd5b50565b600081359050611600816115da565b92915050565b600060ff82169050919050565b61161c81611606565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061166a8261163f565b9050919050565b61167a8161165f565b811461168557600080fd5b50565b60008135905061169781611671565b92915050565b6000806000606084860312156116b6576116b56115bd565b5b60006116c4868287016115f1565b93505060206116d58682870161162a565b92505060406116e686828701611688565b9150509250925092565b6000819050919050565b600061171561171061170b846115c2565b6116f0565b6115c2565b9050919050565b611725816116fa565b82525050565b6000602082019050611740600083018461171c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611780578082015181840152602081019050611765565b60008484015250505050565b6000601f19601f8301169050919050565b60006117a882611746565b6117b28185611751565b93506117c2818560208601611762565b6117cb8161178c565b840191505092915050565b600060208201905081810360008301526117f0818461179d565b905092915050565b60006020828403121561180e5761180d6115bd565b5b600061181c84828501611688565b91505092915050565b60006020828403121561183b5761183a6115bd565b5b6000611849848285016115f1565b91505092915050565b61185b816116fa565b82525050565b600061187c61187761187284611606565b6116f0565b611606565b9050919050565b61188c81611861565b82525050565b61189b8161165f565b82525050565b60a0820160008201516118b76000850182611852565b5060208201516118ca6020850182611852565b5060408201516118dd6040850182611883565b5060608201516118f06060850182611892565b5060808201516119036080850182611892565b50505050565b600060a08201905061191e60008301846118a1565b92915050565b61192d8161165f565b82525050565b60006020820190506119486000830184611924565b92915050565b60008115159050919050565b6119638161194e565b82525050565b600060208201905061197e600083018461195a565b92915050565b61198d81611589565b811461199857600080fd5b50565b6000815190506119aa81611984565b92915050565b6000602082840312156119c6576119c56115bd565b5b60006119d48482850161199b565b91505092915050565b7f4552524f523a5245472d3030353a545950455f494e56414c4944000000000000600082015250565b6000611a13601a83611751565b9150611a1e826119dd565b602082019050919050565b60006020820190508181036000830152611a4281611a06565b9050919050565b6000604082019050611a5e6000830185611924565b8181036020830152611a70818461179d565b90509392505050565b611a82816116fa565b82525050565b6000602082019050611a9d6000830184611a79565b92915050565b611aac8161194e565b8114611ab757600080fd5b50565b600081519050611ac981611aa3565b92915050565b600060208284031215611ae557611ae46115bd565b5b6000611af384828501611aba565b91505092915050565b7f4552524f523a5245472d3030323a414c52454144595f52454749535445524544600082015250565b6000611b32602083611751565b9150611b3d82611afc565b602082019050919050565b60006020820190508181036000830152611b6181611b25565b9050919050565b7f4552524f523a5245472d3030333a4e4f545f524547495354455241424c450000600082015250565b6000611b9e601e83611751565b9150611ba982611b68565b602082019050919050565b60006020820190508181036000830152611bcd81611b91565b9050919050565b600081519050611be381611613565b92915050565b600060208284031215611bff57611bfe6115bd565b5b6000611c0d84828501611bd4565b91505092915050565b600081519050611c25816115da565b92915050565b600060208284031215611c4157611c406115bd565b5b6000611c4f84828501611c16565b91505092915050565b7f4552524f523a5245472d3030343a504152454e545f4e4f545f464f554e440000600082015250565b6000611c8e601e83611751565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b600081519050611cd381611671565b92915050565b600060208284031215611cef57611cee6115bd565b5b6000611cfd84828501611cc4565b91505092915050565b7f4552524f523a5245472d3030313a414c52454144595f494e495449414c495a4560008201527f4400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d62602183611751565b9150611d6d82611d06565b604082019050919050565b60006020820190508181036000830152611d9181611d55565b9050919050565b611da1816115c2565b8114611dac57600080fd5b50565b600081519050611dbe81611d98565b92915050565b600060208284031215611dda57611dd96115bd565b5b6000611de884828501611daf565b91505092915050565b6000611e0c611e07611e02846115c2565b6116f0565b611589565b9050919050565b611e1c81611df1565b82525050565b6000602082019050611e376000830184611e13565b9291505056fea2646970667358221220a31a6280c79885b1f4762fc5c641b8275d40dccfd6d7aa7ee9f2115c98cb1cb164736f6c63430008140033",
211
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be9a71bd11610066578063be9a71bd1461016f578063c3c5a5471461018d578063c4d66de8146101bd578063d272ac1e146101d9578063df33330b146102095761009e565b80631a848cfb146100a35780631d1b0cac146100c15780633fe9300e146100f15780634420e4861461010f5780634c3371cd1461013f575b600080fd5b6100ab610239565b6040516100b891906115a2565b60405180910390f35b6100db60048036038101906100d6919061169d565b6102d1565b6040516100e8919061172b565b60405180910390f35b6100f96105c8565b60405161010691906117d6565b60405180910390f35b610129600480360381019061012491906117f8565b6105db565b604051610136919061172b565b60405180910390f35b61015960048036038101906101549190611825565b610fa0565b6040516101669190611909565b60405180910390f35b61017761112d565b6040516101849190611933565b60405180910390f35b6101a760048036038101906101a291906117f8565b611157565b6040516101b49190611969565b60405180910390f35b6101d760048036038101906101d291906117f8565b61123f565b005b6101f360048036038101906101ee91906117f8565b611314565b604051610200919061172b565b60405180910390f35b610223600480360381019061021e9190611825565b611375565b6040516102309190611933565b60405180910390f35b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102cc91906119b0565b905090565b60006102e4836102df6114a1565b6114b2565b806102fc57506102fb836102f66114c5565b6114b2565b5b61033b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033290611a29565b60405180910390fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0def52184604051806020016040528060008152506040518363ffffffff1660e01b81526004016103a9929190611a49565b6020604051808303816000875af11580156103c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ec91906119b0565b90506103f7816114d6565b915060006040518060a00160405280846bffffffffffffffffffffffff168152602001876bffffffffffffffffffffffff1681526020018660ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815250905080600080856bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550602082015181600001600c6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060408201518160000160186101000a81548160ff021916908360ff16021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505050509392505050565b6040518060200160405280600081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6352694ee890916040518263ffffffff1660e01b815260040161067b9190611a88565b602060405180830381865af4158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc9190611acf565b6106fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f290611b48565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166379e829d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190611acf565b6107ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a590611bb4565b60405180910390fd5b61082d8173ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611be9565b6108286114e0565b6114f1565b15610aef5760008060008373ffffffffffffffffffffffffffffffffffffffff166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611c2b565b6bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200160008201600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020016000820160189054906101000a900460ff1660ff1660ff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401610a6d9190611a88565b602060405180830381865af4158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611acf565b610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae490611ca4565b60405180910390fd5b505b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0def5218373ffffffffffffffffffffffffffffffffffffffff1663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9e9190611cd9565b604051806020016040528060008152506040518363ffffffff1660e01b8152600401610bcb929190611a49565b6020604051808303816000875af1158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e91906119b0565b9050610c19816114d6565b925060006040518060a00160405280856bffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611c2b565b6bffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190611be9565b60ff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc09190611cd9565b73ffffffffffffffffffffffffffffffffffffffff16815250905080600080866bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550602082015181600001600c6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060408201518160000160186101000a81548160ff021916908360ff16021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505050919050565b610fa861150f565b600080836bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200160008201600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020016000820160189054906101000a900460ff1660ff1660ff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016111f79190611a88565b602060405180830381865af4158015611214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190611acf565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c790611d78565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff169050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6308dc895e90916040518263ffffffff1660e01b81526004016113fc9190611a88565b602060405180830381865af4158015611419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143d9190611dc4565b6040518263ffffffff1660e01b81526004016114599190611e22565b602060405180830381865afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190611cd9565b9050919050565b60006114ad605a611505565b905090565b60008160ff168360ff1614905092915050565b60006114d16051611505565b905090565b6000819050919050565b60006114ec6032611505565b905090565b60008160ff168360ff161415905092915050565b6000819050919050565b6040518060a0016040528060006bffffffffffffffffffffffff16815260200160006bffffffffffffffffffffffff168152602001600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000819050919050565b61159c81611589565b82525050565b60006020820190506115b76000830184611593565b92915050565b600080fd5b60006bffffffffffffffffffffffff82169050919050565b6115e3816115c2565b81146115ee57600080fd5b50565b600081359050611600816115da565b92915050565b600060ff82169050919050565b61161c81611606565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061166a8261163f565b9050919050565b61167a8161165f565b811461168557600080fd5b50565b60008135905061169781611671565b92915050565b6000806000606084860312156116b6576116b56115bd565b5b60006116c4868287016115f1565b93505060206116d58682870161162a565b92505060406116e686828701611688565b9150509250925092565b6000819050919050565b600061171561171061170b846115c2565b6116f0565b6115c2565b9050919050565b611725816116fa565b82525050565b6000602082019050611740600083018461171c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611780578082015181840152602081019050611765565b60008484015250505050565b6000601f19601f8301169050919050565b60006117a882611746565b6117b28185611751565b93506117c2818560208601611762565b6117cb8161178c565b840191505092915050565b600060208201905081810360008301526117f0818461179d565b905092915050565b60006020828403121561180e5761180d6115bd565b5b600061181c84828501611688565b91505092915050565b60006020828403121561183b5761183a6115bd565b5b6000611849848285016115f1565b91505092915050565b61185b816116fa565b82525050565b600061187c61187761187284611606565b6116f0565b611606565b9050919050565b61188c81611861565b82525050565b61189b8161165f565b82525050565b60a0820160008201516118b76000850182611852565b5060208201516118ca6020850182611852565b5060408201516118dd6040850182611883565b5060608201516118f06060850182611892565b5060808201516119036080850182611892565b50505050565b600060a08201905061191e60008301846118a1565b92915050565b61192d8161165f565b82525050565b60006020820190506119486000830184611924565b92915050565b60008115159050919050565b6119638161194e565b82525050565b600060208201905061197e600083018461195a565b92915050565b61198d81611589565b811461199857600080fd5b50565b6000815190506119aa81611984565b92915050565b6000602082840312156119c6576119c56115bd565b5b60006119d48482850161199b565b91505092915050565b7f4552524f523a5245472d3030353a545950455f494e56414c4944000000000000600082015250565b6000611a13601a83611751565b9150611a1e826119dd565b602082019050919050565b60006020820190508181036000830152611a4281611a06565b9050919050565b6000604082019050611a5e6000830185611924565b8181036020830152611a70818461179d565b90509392505050565b611a82816116fa565b82525050565b6000602082019050611a9d6000830184611a79565b92915050565b611aac8161194e565b8114611ab757600080fd5b50565b600081519050611ac981611aa3565b92915050565b600060208284031215611ae557611ae46115bd565b5b6000611af384828501611aba565b91505092915050565b7f4552524f523a5245472d3030323a414c52454144595f52454749535445524544600082015250565b6000611b32602083611751565b9150611b3d82611afc565b602082019050919050565b60006020820190508181036000830152611b6181611b25565b9050919050565b7f4552524f523a5245472d3030333a4e4f545f524547495354455241424c450000600082015250565b6000611b9e601e83611751565b9150611ba982611b68565b602082019050919050565b60006020820190508181036000830152611bcd81611b91565b9050919050565b600081519050611be381611613565b92915050565b600060208284031215611bff57611bfe6115bd565b5b6000611c0d84828501611bd4565b91505092915050565b600081519050611c25816115da565b92915050565b600060208284031215611c4157611c406115bd565b5b6000611c4f84828501611c16565b91505092915050565b7f4552524f523a5245472d3030343a504152454e545f4e4f545f464f554e440000600082015250565b6000611c8e601e83611751565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b600081519050611cd381611671565b92915050565b600060208284031215611cef57611cee6115bd565b5b6000611cfd84828501611cc4565b91505092915050565b7f4552524f523a5245472d3030313a414c52454144595f494e495449414c495a4560008201527f4400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d62602183611751565b9150611d6d82611d06565b604082019050919050565b60006020820190508181036000830152611d9181611d55565b9050919050565b611da1816115c2565b8114611dac57600080fd5b50565b600081519050611dbe81611d98565b92915050565b600060208284031215611dda57611dd96115bd565b5b6000611de884828501611daf565b91505092915050565b6000611e0c611e07611e02846115c2565b6116f0565b611589565b9050919050565b611e1c81611df1565b82525050565b6000602082019050611e376000830184611e13565b9291505056fea2646970667358221220a31a6280c79885b1f4762fc5c641b8275d40dccfd6d7aa7ee9f2115c98cb1cb164736f6c63430008140033",
210
+ "bytecode": "0x608060405234801561001057600080fd5b50611002806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be9a71bd11610066578063be9a71bd14610229578063c3c5a5471461024e578063c4d66de814610271578063d272ac1e14610286578063df33330b146102b857600080fd5b80631a848cfb146100a35780631d1b0cac146100be5780633fe9300e146100e95780634420e4861461010c5780634c3371cd1461011f575b600080fd5b6100ab6102cb565b6040519081526020015b60405180910390f35b6100d16100cc366004610e29565b61033e565b6040516001600160601b0390911681526020016100b5565b6100ff6040518060200160405280600081525081565b6040516100b59190610eba565b6100d161011a366004610ed4565b610505565b6101cc61012d366004610ef1565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160601b0390811660009081526020818152604091829020825160a08101845281548086168252600160601b810490951692810192909252600160c01b90930460ff169181019190915260018201546001600160a01b039081166060830152600290920154909116608082015290565b6040516100b5919081516001600160601b0390811682526020808401519091169082015260408083015160ff16908201526060808301516001600160a01b0390811691830191909152608092830151169181019190915260a00190565b6003546001600160a01b03165b6040516001600160a01b0390911681526020016100b5565b61026161025c366004610ed4565b610bd2565b60405190151581526020016100b5565b61028461027f366004610ed4565b610c6e565b005b6100d1610294366004610ed4565b6001600160a01b03166000908152600260205260409020546001600160601b031690565b6102366102c6366004610ef1565b610cf3565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa158015610315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103399190610f0e565b905090565b600061035283605a5b60ff90811691161490565b806103635750610363836051610347565b6103b45760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5245472d3030353a545950455f494e56414c494400000000000060448201526064015b60405180910390fd5b600354604080516020810182526000808252915163d0def52160e01b815291926001600160a01b03169163d0def521916103f391879190600401610f27565b6020604051808303816000875af1158015610412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104369190610f0e565b9050806040805160a0810182526001600160601b03808416808352988116602080840191825260ff998a168486019081526000606086018181526001600160a01b039b8c16608088019081529d825292819052959095209351845492519551909a16600160c01b0260ff60c01b19958416600160601b026001600160c01b03199093169a90931699909917179290921691909117815594516001860180549186166001600160a01b03199283161790559551600290950180549590941694909516939093179091555090919050565b6001600160a01b038116600090815260026020526040808220549051630a4d29dd60e31b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b9190610f53565b6105e75760405162461bcd60e51b815260206004820181905260248201527f4552524f523a5245472d3030323a414c52454144595f5245474953544552454460448201526064016103ab565b6000829050806001600160a01b03166379e829d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064e9190610f53565b61069a5760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5245472d3030333a4e4f545f524547495354455241424c45000060448201526064016103ab565b610709816001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ff9190610f75565b60ff166032141590565b156108a9576000806000836001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190610f92565b6001600160601b0390811682526020808301939093526040918201600020825160a0810184528154808416808352600160601b820490941695820195909552600160c01b90940460ff168484015260018101546001600160a01b03908116606086015260029091015416608084015290516330b8415f60e01b8152600481019190915290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b9190610f53565b6108a75760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5245472d3030343a504152454e545f4e4f545f464f554e44000060448201526064016103ab565b505b6000600360009054906101000a90046001600160a01b03166001600160a01b031663d0def521836001600160a01b031663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109319190610faf565b604051806020016040528060008152506040518363ffffffff1660e01b815260040161095e929190610f27565b6020604051808303816000875af115801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a19190610f0e565b905080925060006040518060a00160405280856001600160601b03168152602001846001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a249190610f92565b6001600160601b03168152602001846001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a949190610f75565b60ff168152602001866001600160a01b03168152602001846001600160a01b031663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d9190610faf565b6001600160a01b039081169091526001600160601b0380871660008181526020818152604080832087518154848a0151848b015160ff16600160c01b0260ff60c01b19918a16600160601b026001600160c01b03199093169390991692909217171695909517855560608701516001860180549188166001600160a01b031992831617905560809097015160029586018054918816919098161790965599909316835297522080546bffffffffffffffffffffffff1916909517909455509092915050565b6001600160a01b0381166000908152600260205260408082205490516330b8415f60e01b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c689190610f53565b92915050565b6003546001600160a01b031615610cd15760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5245472d3030313a414c52454144595f494e495449414c495a456044820152601160fa1b60648201526084016103ab565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60035460405163046e44af60e11b81526001600160601b03831660048201526000916001600160a01b031690636352211e9073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906308dc895e90602401602060405180830381865af4158015610d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d859190610f92565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c689190610faf565b6001600160601b0381168114610e0257600080fd5b50565b60ff81168114610e0257600080fd5b6001600160a01b0381168114610e0257600080fd5b600080600060608486031215610e3e57600080fd5b8335610e4981610ded565b92506020840135610e5981610e05565b91506040840135610e6981610e14565b809150509250925092565b6000815180845260005b81811015610e9a57602081850181015186830182015201610e7e565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ecd6020830184610e74565b9392505050565b600060208284031215610ee657600080fd5b8135610ecd81610e14565b600060208284031215610f0357600080fd5b8135610ecd81610ded565b600060208284031215610f2057600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090610f4b90830184610e74565b949350505050565b600060208284031215610f6557600080fd5b81518015158114610ecd57600080fd5b600060208284031215610f8757600080fd5b8151610ecd81610e05565b600060208284031215610fa457600080fd5b8151610ecd81610ded565b600060208284031215610fc157600080fd5b8151610ecd81610e1456fea2646970667358221220f0ef03c7270dd053385ad4000788b7842ce2ba361d0334bb8ebf29059ea7427664736f6c63430008140033",
211
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be9a71bd11610066578063be9a71bd14610229578063c3c5a5471461024e578063c4d66de814610271578063d272ac1e14610286578063df33330b146102b857600080fd5b80631a848cfb146100a35780631d1b0cac146100be5780633fe9300e146100e95780634420e4861461010c5780634c3371cd1461011f575b600080fd5b6100ab6102cb565b6040519081526020015b60405180910390f35b6100d16100cc366004610e29565b61033e565b6040516001600160601b0390911681526020016100b5565b6100ff6040518060200160405280600081525081565b6040516100b59190610eba565b6100d161011a366004610ed4565b610505565b6101cc61012d366004610ef1565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160601b0390811660009081526020818152604091829020825160a08101845281548086168252600160601b810490951692810192909252600160c01b90930460ff169181019190915260018201546001600160a01b039081166060830152600290920154909116608082015290565b6040516100b5919081516001600160601b0390811682526020808401519091169082015260408083015160ff16908201526060808301516001600160a01b0390811691830191909152608092830151169181019190915260a00190565b6003546001600160a01b03165b6040516001600160a01b0390911681526020016100b5565b61026161025c366004610ed4565b610bd2565b60405190151581526020016100b5565b61028461027f366004610ed4565b610c6e565b005b6100d1610294366004610ed4565b6001600160a01b03166000908152600260205260409020546001600160601b031690565b6102366102c6366004610ef1565b610cf3565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa158015610315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103399190610f0e565b905090565b600061035283605a5b60ff90811691161490565b806103635750610363836051610347565b6103b45760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5245472d3030353a545950455f494e56414c494400000000000060448201526064015b60405180910390fd5b600354604080516020810182526000808252915163d0def52160e01b815291926001600160a01b03169163d0def521916103f391879190600401610f27565b6020604051808303816000875af1158015610412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104369190610f0e565b9050806040805160a0810182526001600160601b03808416808352988116602080840191825260ff998a168486019081526000606086018181526001600160a01b039b8c16608088019081529d825292819052959095209351845492519551909a16600160c01b0260ff60c01b19958416600160601b026001600160c01b03199093169a90931699909917179290921691909117815594516001860180549186166001600160a01b03199283161790559551600290950180549590941694909516939093179091555090919050565b6001600160a01b038116600090815260026020526040808220549051630a4d29dd60e31b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b9190610f53565b6105e75760405162461bcd60e51b815260206004820181905260248201527f4552524f523a5245472d3030323a414c52454144595f5245474953544552454460448201526064016103ab565b6000829050806001600160a01b03166379e829d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064e9190610f53565b61069a5760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5245472d3030333a4e4f545f524547495354455241424c45000060448201526064016103ab565b610709816001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ff9190610f75565b60ff166032141590565b156108a9576000806000836001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190610f92565b6001600160601b0390811682526020808301939093526040918201600020825160a0810184528154808416808352600160601b820490941695820195909552600160c01b90940460ff168484015260018101546001600160a01b03908116606086015260029091015416608084015290516330b8415f60e01b8152600481019190915290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b9190610f53565b6108a75760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5245472d3030343a504152454e545f4e4f545f464f554e44000060448201526064016103ab565b505b6000600360009054906101000a90046001600160a01b03166001600160a01b031663d0def521836001600160a01b031663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109319190610faf565b604051806020016040528060008152506040518363ffffffff1660e01b815260040161095e929190610f27565b6020604051808303816000875af115801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a19190610f0e565b905080925060006040518060a00160405280856001600160601b03168152602001846001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a249190610f92565b6001600160601b03168152602001846001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a949190610f75565b60ff168152602001866001600160a01b03168152602001846001600160a01b031663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d9190610faf565b6001600160a01b039081169091526001600160601b0380871660008181526020818152604080832087518154848a0151848b015160ff16600160c01b0260ff60c01b19918a16600160601b026001600160c01b03199093169390991692909217171695909517855560608701516001860180549188166001600160a01b031992831617905560809097015160029586018054918816919098161790965599909316835297522080546bffffffffffffffffffffffff1916909517909455509092915050565b6001600160a01b0381166000908152600260205260408082205490516330b8415f60e01b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c689190610f53565b92915050565b6003546001600160a01b031615610cd15760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5245472d3030313a414c52454144595f494e495449414c495a456044820152601160fa1b60648201526084016103ab565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60035460405163046e44af60e11b81526001600160601b03831660048201526000916001600160a01b031690636352211e9073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906308dc895e90602401602060405180830381865af4158015610d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d859190610f92565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c689190610faf565b6001600160601b0381168114610e0257600080fd5b50565b60ff81168114610e0257600080fd5b6001600160a01b0381168114610e0257600080fd5b600080600060608486031215610e3e57600080fd5b8335610e4981610ded565b92506020840135610e5981610e05565b91506040840135610e6981610e14565b809150509250925092565b6000815180845260005b81811015610e9a57602081850181015186830182015201610e7e565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ecd6020830184610e74565b9392505050565b600060208284031215610ee657600080fd5b8135610ecd81610e14565b600060208284031215610f0357600080fd5b8135610ecd81610ded565b600060208284031215610f2057600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090610f4b90830184610e74565b949350505050565b600060208284031215610f6557600080fd5b81518015158114610ecd57600080fd5b600060208284031215610f8757600080fd5b8151610ecd81610e05565b600060208284031215610fa457600080fd5b8151610ecd81610ded565b600060208284031215610fc157600080fd5b8151610ecd81610e1456fea2646970667358221220f0ef03c7270dd053385ad4000788b7842ce2ba361d0334bb8ebf29059ea7427664736f6c63430008140033",
212
212
  "linkReferences": {
213
213
  "contracts/types/NftId.sol": {
214
214
  "NftIdLib": [
215
215
  {
216
216
  "length": 20,
217
- "start": 1637
217
+ "start": 1373
218
218
  },
219
219
  {
220
220
  "length": 20,
221
- "start": 2647
221
+ "start": 2077
222
222
  },
223
223
  {
224
224
  "length": 20,
225
- "start": 4577
225
+ "start": 3114
226
226
  },
227
227
  {
228
228
  "length": 20,
229
- "start": 5094
229
+ "start": 3399
230
230
  }
231
231
  ]
232
232
  }
@@ -236,19 +236,19 @@
236
236
  "NftIdLib": [
237
237
  {
238
238
  "length": 20,
239
- "start": 1605
239
+ "start": 1341
240
240
  },
241
241
  {
242
242
  "length": 20,
243
- "start": 2615
243
+ "start": 2045
244
244
  },
245
245
  {
246
246
  "length": 20,
247
- "start": 4545
247
+ "start": 3082
248
248
  },
249
249
  {
250
250
  "length": 20,
251
- "start": 5062
251
+ "start": 3367
252
252
  }
253
253
  ]
254
254
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -53,8 +53,8 @@
53
53
  "type": "function"
54
54
  }
55
55
  ],
56
- "bytecode": "0x608060405234801561001057600080fd5b50604051610249380380610249833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b610132806101176000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80635ab1bd5314602d575b600080fd5b60336047565b604051603e919060e3565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060af60ab60a7846070565b6090565b6070565b9050919050565b600060bf82609a565b9050919050565b600060cf8260b6565b9050919050565b60dd8160c6565b82525050565b600060208201905060f6600083018460d6565b9291505056fea26469706673582212206e432af8056344b1a5569ef5e9cc9a74e9c7d6c5ccd9f9d84b93b68321ac821164736f6c63430008140033",
57
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80635ab1bd5314602d575b600080fd5b60336047565b604051603e919060e3565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060af60ab60a7846070565b6090565b6070565b9050919050565b600060bf82609a565b9050919050565b600060cf8260b6565b9050919050565b60dd8160c6565b82525050565b600060208201905060f6600083018460d6565b9291505056fea26469706673582212206e432af8056344b1a5569ef5e9cc9a74e9c7d6c5ccd9f9d84b93b68321ac821164736f6c63430008140033",
56
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161011438038061011483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6082806100926000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80635ab1bd5314602d575b600080fd5b600054604080516001600160a01b039092168252519081900360200190f3fea26469706673582212206b52cc4409c12622a2ab6c2124c0d70b1e91703d256b216f9a00838ad6c64f8564736f6c63430008140033",
57
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80635ab1bd5314602d575b600080fd5b600054604080516001600160a01b039092168252519081900360200190f3fea26469706673582212206b52cc4409c12622a2ab6c2124c0d70b1e91703d256b216f9a00838ad6c64f8564736f6c63430008140033",
58
58
  "linkReferences": {},
59
59
  "deployedLinkReferences": {}
60
60
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -167,8 +167,8 @@
167
167
  "type": "function"
168
168
  }
169
169
  ],
170
- "bytecode": "0x61044b610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80636303db59116100655780636303db591461011c5780636effeac41461014c5780637b4f5d3b1461017c57806394642804146101ac57610087565b8063012340281461008c578063559cbd25146100bc57806356b0a7d4146100ec575b600080fd5b6100a660048036038101906100a1919061033e565b6101dc565b6040516100b39190610399565b60405180910390f35b6100d660048036038101906100d1919061033e565b6101f0565b6040516100e39190610399565b60405180910390f35b6101066004803603810190610101919061033e565b610204565b6040516101139190610399565b60405180910390f35b6101366004803603810190610131919061033e565b610218565b6040516101439190610399565b60405180910390f35b610166600480360381019061016191906103b4565b61022c565b60405161017391906103fa565b60405180910390f35b6101966004803603810190610191919061033e565b61023c565b6040516101a39190610399565b60405180910390f35b6101c660048036038101906101c1919061033e565b610250565b6040516101d39190610399565b60405180910390f35b60006101e88383610264565b905092915050565b60006101fc838361027e565b905092915050565b60006102108383610297565b905092915050565b600061022483836102b0565b905092915050565b60008163ffffffff169050919050565b600061024883836102c9565b905092915050565b600061025c83836102e3565b905092915050565b60008163ffffffff168363ffffffff161015905092915050565b60008163ffffffff168363ffffffff1614905092915050565b60008163ffffffff168363ffffffff1611905092915050565b60008163ffffffff168363ffffffff1610905092915050565b60008163ffffffff168363ffffffff161415905092915050565b60008163ffffffff168363ffffffff161115905092915050565b600080fd5b600063ffffffff82169050919050565b61031b81610302565b811461032657600080fd5b50565b60008135905061033881610312565b92915050565b60008060408385031215610355576103546102fd565b5b600061036385828601610329565b925050602061037485828601610329565b9150509250929050565b60008115159050919050565b6103938161037e565b82525050565b60006020820190506103ae600083018461038a565b92915050565b6000602082840312156103ca576103c96102fd565b5b60006103d884828501610329565b91505092915050565b6000819050919050565b6103f4816103e1565b82525050565b600060208201905061040f60008301846103eb565b9291505056fea26469706673582212202fd6b10a4320d97514a13224131db55d617439a7dc8cafd2f2d1ffea39dca15664736f6c63430008140033",
171
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80636303db59116100655780636303db591461011c5780636effeac41461014c5780637b4f5d3b1461017c57806394642804146101ac57610087565b8063012340281461008c578063559cbd25146100bc57806356b0a7d4146100ec575b600080fd5b6100a660048036038101906100a1919061033e565b6101dc565b6040516100b39190610399565b60405180910390f35b6100d660048036038101906100d1919061033e565b6101f0565b6040516100e39190610399565b60405180910390f35b6101066004803603810190610101919061033e565b610204565b6040516101139190610399565b60405180910390f35b6101366004803603810190610131919061033e565b610218565b6040516101439190610399565b60405180910390f35b610166600480360381019061016191906103b4565b61022c565b60405161017391906103fa565b60405180910390f35b6101966004803603810190610191919061033e565b61023c565b6040516101a39190610399565b60405180910390f35b6101c660048036038101906101c1919061033e565b610250565b6040516101d39190610399565b60405180910390f35b60006101e88383610264565b905092915050565b60006101fc838361027e565b905092915050565b60006102108383610297565b905092915050565b600061022483836102b0565b905092915050565b60008163ffffffff169050919050565b600061024883836102c9565b905092915050565b600061025c83836102e3565b905092915050565b60008163ffffffff168363ffffffff161015905092915050565b60008163ffffffff168363ffffffff1614905092915050565b60008163ffffffff168363ffffffff1611905092915050565b60008163ffffffff168363ffffffff1610905092915050565b60008163ffffffff168363ffffffff161415905092915050565b60008163ffffffff168363ffffffff161115905092915050565b600080fd5b600063ffffffff82169050919050565b61031b81610302565b811461032657600080fd5b50565b60008135905061033881610312565b92915050565b60008060408385031215610355576103546102fd565b5b600061036385828601610329565b925050602061037485828601610329565b9150509250929050565b60008115159050919050565b6103938161037e565b82525050565b60006020820190506103ae600083018461038a565b92915050565b6000602082840312156103ca576103c96102fd565b5b60006103d884828501610329565b91505092915050565b6000819050919050565b6103f4816103e1565b82525050565b600060208201905061040f60008301846103eb565b9291505056fea26469706673582212202fd6b10a4320d97514a13224131db55d617439a7dc8cafd2f2d1ffea39dca15664736f6c63430008140033",
170
+ "bytecode": "0x61024d61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80636303db59116100655780636303db59146100da5780636effeac4146100ed5780637b4f5d3b14610112578063946428041461012557600080fd5b8063012340281461008c578063559cbd25146100b457806356b0a7d4146100c7575b600080fd5b61009f61009a3660046101c9565b610138565b60405190151581526020015b60405180910390f35b61009f6100c23660046101c9565b61014f565b61009f6100d53660046101c9565b610162565b61009f6100e83660046101c9565b610175565b6101046100fb3660046101fc565b63ffffffff1690565b6040519081526020016100ab565b61009f6101203660046101c9565b610188565b61009f6101333660046101c9565b61019c565b600063ffffffff80831690841610155b9392505050565b600063ffffffff80841690831614610148565b600063ffffffff80831690841611610148565b600063ffffffff80831690841610610148565b600063ffffffff8084169083161415610148565b600063ffffffff8083169084161115610148565b803563ffffffff811681146101c457600080fd5b919050565b600080604083850312156101dc57600080fd5b6101e5836101b0565b91506101f3602084016101b0565b90509250929050565b60006020828403121561020e57600080fd5b610148826101b056fea26469706673582212209c3b15caeec0e7d5334a5985f9d00378c7d311267beffff2b7358b7f5af08c7764736f6c63430008140033",
171
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80636303db59116100655780636303db59146100da5780636effeac4146100ed5780637b4f5d3b14610112578063946428041461012557600080fd5b8063012340281461008c578063559cbd25146100b457806356b0a7d4146100c7575b600080fd5b61009f61009a3660046101c9565b610138565b60405190151581526020015b60405180910390f35b61009f6100c23660046101c9565b61014f565b61009f6100d53660046101c9565b610162565b61009f6100e83660046101c9565b610175565b6101046100fb3660046101fc565b63ffffffff1690565b6040519081526020016100ab565b61009f6101203660046101c9565b610188565b61009f6101333660046101c9565b61019c565b600063ffffffff80831690841610155b9392505050565b600063ffffffff80841690831614610148565b600063ffffffff80831690841611610148565b600063ffffffff80831690841610610148565b600063ffffffff8084169083161415610148565b600063ffffffff8083169084161115610148565b803563ffffffff811681146101c457600080fd5b919050565b600080604083850312156101dc57600080fd5b6101e5836101b0565b91506101f3602084016101b0565b90509250929050565b60006020828403121561020e57600080fd5b610148826101b056fea26469706673582212209c3b15caeec0e7d5334a5985f9d00378c7d311267beffff2b7358b7f5af08c7764736f6c63430008140033",
172
172
  "linkReferences": {},
173
173
  "deployedLinkReferences": {}
174
174
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "ChainIdLib",
4
4
  "sourceName": "contracts/types/ChainId.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122005c7aecaaf5dc99e943ca450648b65b3228cc959aef67bed499b073e8cc125e364736f6c63430008140033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122005c7aecaaf5dc99e943ca450648b65b3228cc959aef67bed499b073e8cc125e364736f6c63430008140033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ac8816ed64a5564f095b1262256f7bb457860b022bb240dc1f3c524dba44019264736f6c63430008140033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ac8816ed64a5564f095b1262256f7bb457860b022bb240dc1f3c524dba44019264736f6c63430008140033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -85,8 +85,8 @@
85
85
  "type": "function"
86
86
  }
87
87
  ],
88
- "bytecode": "0x6102e2610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dc895e1461005b57806330b8415f1461008b57806352694ee8146100bb578063c4cade9d146100eb575b600080fd5b610075600480360381019061007091906101df565b61011b565b604051610082919061021b565b60405180910390f35b6100a560048036038101906100a091906101df565b610125565b6040516100b29190610251565b60405180910390f35b6100d560048036038101906100d091906101df565b61013f565b6040516100e29190610251565b60405180910390f35b6101056004803603810190610100919061026c565b610159565b6040516101129190610251565b60405180910390f35b6000819050919050565b600080826bffffffffffffffffffffffff16119050919050565b600080826bffffffffffffffffffffffff16149050919050565b6000610165838361016d565b905092915050565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b600080fd5b60006bffffffffffffffffffffffff82169050919050565b6101bc8161019b565b81146101c757600080fd5b50565b6000813590506101d9816101b3565b92915050565b6000602082840312156101f5576101f4610196565b5b6000610203848285016101ca565b91505092915050565b6102158161019b565b82525050565b6000602082019050610230600083018461020c565b92915050565b60008115159050919050565b61024b81610236565b82525050565b60006020820190506102666000830184610242565b92915050565b6000806040838503121561028357610282610196565b5b6000610291858286016101ca565b92505060206102a2858286016101ca565b915050925092905056fea26469706673582212206ba628ecc3625dc46a878a86a11379b7982cca336d93b727940f1256e324c11f64736f6c63430008140033",
89
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dc895e1461005b57806330b8415f1461008b57806352694ee8146100bb578063c4cade9d146100eb575b600080fd5b610075600480360381019061007091906101df565b61011b565b604051610082919061021b565b60405180910390f35b6100a560048036038101906100a091906101df565b610125565b6040516100b29190610251565b60405180910390f35b6100d560048036038101906100d091906101df565b61013f565b6040516100e29190610251565b60405180910390f35b6101056004803603810190610100919061026c565b610159565b6040516101129190610251565b60405180910390f35b6000819050919050565b600080826bffffffffffffffffffffffff16119050919050565b600080826bffffffffffffffffffffffff16149050919050565b6000610165838361016d565b905092915050565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b600080fd5b60006bffffffffffffffffffffffff82169050919050565b6101bc8161019b565b81146101c757600080fd5b50565b6000813590506101d9816101b3565b92915050565b6000602082840312156101f5576101f4610196565b5b6000610203848285016101ca565b91505092915050565b6102158161019b565b82525050565b6000602082019050610230600083018461020c565b92915050565b60008115159050919050565b61024b81610236565b82525050565b60006020820190506102666000830184610242565b92915050565b6000806040838503121561028357610282610196565b5b6000610291858286016101ca565b92505060206102a2858286016101ca565b915050925092905056fea26469706673582212206ba628ecc3625dc46a878a86a11379b7982cca336d93b727940f1256e324c11f64736f6c63430008140033",
88
+ "bytecode": "0x61019761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dc895e1461005b57806330b8415f1461008957806352694ee8146100b5578063c4cade9d146100d0575b600080fd5b61006c610069366004610113565b90565b6040516001600160601b0390911681526020015b60405180910390f35b6100a5610097366004610113565b6001600160601b0316151590565b6040519015158152602001610080565b6100a56100c3366004610113565b6001600160601b03161590565b6100a56100de36600461012e565b60006001600160601b03808416908316145b9392505050565b80356001600160601b038116811461010e57600080fd5b919050565b60006020828403121561012557600080fd5b6100f0826100f7565b6000806040838503121561014157600080fd5b61014a836100f7565b9150610158602084016100f7565b9050925092905056fea264697066735822122086c40d21088b135650d1720bf76aa3ac4d6f440abbd63c369af2921e83b739cf64736f6c63430008140033",
89
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dc895e1461005b57806330b8415f1461008957806352694ee8146100b5578063c4cade9d146100d0575b600080fd5b61006c610069366004610113565b90565b6040516001600160601b0390911681526020015b60405180910390f35b6100a5610097366004610113565b6001600160601b0316151590565b6040519015158152602001610080565b6100a56100c3366004610113565b6001600160601b03161590565b6100a56100de36600461012e565b60006001600160601b03808416908316145b9392505050565b80356001600160601b038116811461010e57600080fd5b919050565b60006020828403121561012557600080fd5b6100f0826100f7565b6000806040838503121561014157600080fd5b61014a836100f7565b9150610158602084016100f7565b9050925092905056fea264697066735822122086c40d21088b135650d1720bf76aa3ac4d6f440abbd63c369af2921e83b739cf64736f6c63430008140033",
90
90
  "linkReferences": {},
91
91
  "deployedLinkReferences": {}
92
92
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -85,8 +85,8 @@
85
85
  "type": "function"
86
86
  }
87
87
  ],
88
- "bytecode": "0x6102c6610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f9196201461008b578063ac43d834146100bb578063b2466acf146100eb575b600080fd5b610075600480360381019061007091906101ab565b61011b565b6040516100829190610206565b60405180910390f35b6100a560048036038101906100a09190610221565b61012f565b6040516100b29190610206565b60405180910390f35b6100d560048036038101906100d09190610221565b61013e565b6040516100e29190610275565b60405180910390f35b61010560048036038101906101009190610221565b61014b565b6040516101129190610206565b60405180910390f35b6000610127838361015a565b905092915050565b6000808260ff16149050919050565b60008160ff169050919050565b6000808260ff16119050919050565b60008160ff168360ff1614905092915050565b600080fd5b600060ff82169050919050565b61018881610172565b811461019357600080fd5b50565b6000813590506101a58161017f565b92915050565b600080604083850312156101c2576101c161016d565b5b60006101d085828601610196565b92505060206101e185828601610196565b9150509250929050565b60008115159050919050565b610200816101eb565b82525050565b600060208201905061021b60008301846101f7565b92915050565b6000602082840312156102375761023661016d565b5b600061024584828501610196565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b61026f8161024e565b82525050565b600060208201905061028a6000830184610266565b9291505056fea26469706673582212200a8b06db108f861c3f000e400e65679828677b4f408fe43bacc6669237f220c264736f6c63430008140033",
89
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f9196201461008b578063ac43d834146100bb578063b2466acf146100eb575b600080fd5b610075600480360381019061007091906101ab565b61011b565b6040516100829190610206565b60405180910390f35b6100a560048036038101906100a09190610221565b61012f565b6040516100b29190610206565b60405180910390f35b6100d560048036038101906100d09190610221565b61013e565b6040516100e29190610275565b60405180910390f35b61010560048036038101906101009190610221565b61014b565b6040516101129190610206565b60405180910390f35b6000610127838361015a565b905092915050565b6000808260ff16149050919050565b60008160ff169050919050565b6000808260ff16119050919050565b60008160ff168360ff1614905092915050565b600080fd5b600060ff82169050919050565b61018881610172565b811461019357600080fd5b50565b6000813590506101a58161017f565b92915050565b600080604083850312156101c2576101c161016d565b5b60006101d085828601610196565b92505060206101e185828601610196565b9150509250929050565b60008115159050919050565b610200816101eb565b82525050565b600060208201905061021b60008301846101f7565b92915050565b6000602082840312156102375761023661016d565b5b600061024584828501610196565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b61026f8161024e565b82525050565b600060208201905061028a6000830184610266565b9291505056fea26469706673582212200a8b06db108f861c3f000e400e65679828677b4f408fe43bacc6669237f220c264736f6c63430008140033",
88
+ "bytecode": "0x61018c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f91962014610083578063ac43d83414610098578063b2466acf146100c9575b600080fd5b61006e610069366004610108565b6100df565b60405190151581526020015b60405180910390f35b61006e61009136600461013b565b60ff161590565b6100ac6100a636600461013b565b60ff1690565b6040516bffffffffffffffffffffffff909116815260200161007a565b61006e6100d736600461013b565b60ff16151590565b600060ff808416908316145b9392505050565b803560ff8116811461010357600080fd5b919050565b6000806040838503121561011b57600080fd5b610124836100f2565b9150610132602084016100f2565b90509250929050565b60006020828403121561014d57600080fd5b6100eb826100f256fea2646970667358221220f00c11edd8717e8912945888b0dc2c44aadd41b2fc10aaf5dd3c68c6977e868864736f6c63430008140033",
89
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f91962014610083578063ac43d83414610098578063b2466acf146100c9575b600080fd5b61006e610069366004610108565b6100df565b60405190151581526020015b60405180910390f35b61006e61009136600461013b565b60ff161590565b6100ac6100a636600461013b565b60ff1690565b6040516bffffffffffffffffffffffff909116815260200161007a565b61006e6100d736600461013b565b60ff16151590565b600060ff808416908316145b9392505050565b803560ff8116811461010357600080fd5b919050565b6000806040838503121561011b57600080fd5b610124836100f2565b9150610132602084016100f2565b90509250929050565b60006020828403121561014d57600080fd5b6100eb826100f256fea2646970667358221220f00c11edd8717e8912945888b0dc2c44aadd41b2fc10aaf5dd3c68c6977e868864736f6c63430008140033",
90
90
  "linkReferences": {},
91
91
  "deployedLinkReferences": {}
92
92
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -85,8 +85,8 @@
85
85
  "type": "function"
86
86
  }
87
87
  ],
88
- "bytecode": "0x6102c6610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f9196201461008b578063ac43d834146100bb578063b2466acf146100eb575b600080fd5b610075600480360381019061007091906101ab565b61011b565b6040516100829190610206565b60405180910390f35b6100a560048036038101906100a09190610221565b61012f565b6040516100b29190610206565b60405180910390f35b6100d560048036038101906100d09190610221565b61013e565b6040516100e29190610275565b60405180910390f35b61010560048036038101906101009190610221565b61014b565b6040516101129190610206565b60405180910390f35b6000610127838361015a565b905092915050565b6000808260ff16149050919050565b60008160ff169050919050565b6000808260ff16119050919050565b60008160ff168360ff1614905092915050565b600080fd5b600060ff82169050919050565b61018881610172565b811461019357600080fd5b50565b6000813590506101a58161017f565b92915050565b600080604083850312156101c2576101c161016d565b5b60006101d085828601610196565b92505060206101e185828601610196565b9150509250929050565b60008115159050919050565b610200816101eb565b82525050565b600060208201905061021b60008301846101f7565b92915050565b6000602082840312156102375761023661016d565b5b600061024584828501610196565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b61026f8161024e565b82525050565b600060208201905061028a6000830184610266565b9291505056fea2646970667358221220085ca1ba5188d12621362149fcd29a78387852b7b76d4dda3f77df5fc92afe9364736f6c63430008140033",
89
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f9196201461008b578063ac43d834146100bb578063b2466acf146100eb575b600080fd5b610075600480360381019061007091906101ab565b61011b565b6040516100829190610206565b60405180910390f35b6100a560048036038101906100a09190610221565b61012f565b6040516100b29190610206565b60405180910390f35b6100d560048036038101906100d09190610221565b61013e565b6040516100e29190610275565b60405180910390f35b61010560048036038101906101009190610221565b61014b565b6040516101129190610206565b60405180910390f35b6000610127838361015a565b905092915050565b6000808260ff16149050919050565b60008160ff169050919050565b6000808260ff16119050919050565b60008160ff168360ff1614905092915050565b600080fd5b600060ff82169050919050565b61018881610172565b811461019357600080fd5b50565b6000813590506101a58161017f565b92915050565b600080604083850312156101c2576101c161016d565b5b60006101d085828601610196565b92505060206101e185828601610196565b9150509250929050565b60008115159050919050565b610200816101eb565b82525050565b600060208201905061021b60008301846101f7565b92915050565b6000602082840312156102375761023661016d565b5b600061024584828501610196565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b61026f8161024e565b82525050565b600060208201905061028a6000830184610266565b9291505056fea2646970667358221220085ca1ba5188d12621362149fcd29a78387852b7b76d4dda3f77df5fc92afe9364736f6c63430008140033",
88
+ "bytecode": "0x61018c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f91962014610083578063ac43d83414610098578063b2466acf146100c9575b600080fd5b61006e610069366004610108565b6100df565b60405190151581526020015b60405180910390f35b61006e61009136600461013b565b60ff161590565b6100ac6100a636600461013b565b60ff1690565b6040516bffffffffffffffffffffffff909116815260200161007a565b61006e6100d736600461013b565b60ff16151590565b600060ff808416908316145b9392505050565b803560ff8116811461010357600080fd5b919050565b6000806040838503121561011b57600080fd5b610124836100f2565b9150610132602084016100f2565b90509250929050565b60006020828403121561014d57600080fd5b6100eb826100f256fea26469706673582212202a80a64e54b6fb1b9571359df5cfb48e00ec67039e42d95b75da9d429a3404d664736f6c63430008140033",
89
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f91962014610083578063ac43d83414610098578063b2466acf146100c9575b600080fd5b61006e610069366004610108565b6100df565b60405190151581526020015b60405180910390f35b61006e61009136600461013b565b60ff161590565b6100ac6100a636600461013b565b60ff1690565b6040516bffffffffffffffffffffffff909116815260200161007a565b61006e6100d736600461013b565b60ff16151590565b600060ff808416908316145b9392505050565b803560ff8116811461010357600080fd5b919050565b6000806040838503121561011b57600080fd5b610124836100f2565b9150610132602084016100f2565b90509250929050565b60006020828403121561014d57600080fd5b6100eb826100f256fea26469706673582212202a80a64e54b6fb1b9571359df5cfb48e00ec67039e42d95b75da9d429a3404d664736f6c63430008140033",
90
90
  "linkReferences": {},
91
91
  "deployedLinkReferences": {}
92
92
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -167,8 +167,8 @@
167
167
  "type": "function"
168
168
  }
169
169
  ],
170
- "bytecode": "0x610459610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c8063add9ce9911610065578063add9ce991461011c578063c24922ce1461014c578063da09d4841461017c578063ddf3d631146101ac57610087565b806383ffcdef1461008c57806394335b1a146100bc5780639df87639146100ec575b600080fd5b6100a660048036038101906100a1919061034c565b6101dc565b6040516100b391906103a7565b60405180910390f35b6100d660048036038101906100d1919061034c565b6101f0565b6040516100e391906103a7565b60405180910390f35b6101066004803603810190610101919061034c565b610204565b60405161011391906103a7565b60405180910390f35b6101366004803603810190610131919061034c565b610218565b60405161014391906103a7565b60405180910390f35b6101666004803603810190610161919061034c565b61022c565b60405161017391906103a7565b60405180910390f35b610196600480360381019061019191906103c2565b610240565b6040516101a39190610408565b60405180910390f35b6101c660048036038101906101c1919061034c565b610251565b6040516101d391906103a7565b60405180910390f35b60006101e88383610265565b905092915050565b60006101fc8383610280565b905092915050565b6000610210838361029c565b905092915050565b600061022483836102b7565b905092915050565b600061023883836102d2565b905092915050565b60008164ffffffffff169050919050565b600061025d83836102ee565b905092915050565b60008164ffffffffff168364ffffffffff1611905092915050565b60008164ffffffffff168364ffffffffff161115905092915050565b60008164ffffffffff168364ffffffffff1614905092915050565b60008164ffffffffff168364ffffffffff1610905092915050565b60008164ffffffffff168364ffffffffff161015905092915050565b60008164ffffffffff168364ffffffffff161415905092915050565b600080fd5b600064ffffffffff82169050919050565b6103298161030f565b811461033457600080fd5b50565b60008135905061034681610320565b92915050565b600080604083850312156103635761036261030a565b5b600061037185828601610337565b925050602061038285828601610337565b9150509250929050565b60008115159050919050565b6103a18161038c565b82525050565b60006020820190506103bc6000830184610398565b92915050565b6000602082840312156103d8576103d761030a565b5b60006103e684828501610337565b91505092915050565b6000819050919050565b610402816103ef565b82525050565b600060208201905061041d60008301846103f9565b9291505056fea2646970667358221220c8144117ed9aeaef3ddb5d0c7c21e0c4f24c8cfdb4dc23b24670d33845a8e03b64736f6c63430008140033",
171
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c8063add9ce9911610065578063add9ce991461011c578063c24922ce1461014c578063da09d4841461017c578063ddf3d631146101ac57610087565b806383ffcdef1461008c57806394335b1a146100bc5780639df87639146100ec575b600080fd5b6100a660048036038101906100a1919061034c565b6101dc565b6040516100b391906103a7565b60405180910390f35b6100d660048036038101906100d1919061034c565b6101f0565b6040516100e391906103a7565b60405180910390f35b6101066004803603810190610101919061034c565b610204565b60405161011391906103a7565b60405180910390f35b6101366004803603810190610131919061034c565b610218565b60405161014391906103a7565b60405180910390f35b6101666004803603810190610161919061034c565b61022c565b60405161017391906103a7565b60405180910390f35b610196600480360381019061019191906103c2565b610240565b6040516101a39190610408565b60405180910390f35b6101c660048036038101906101c1919061034c565b610251565b6040516101d391906103a7565b60405180910390f35b60006101e88383610265565b905092915050565b60006101fc8383610280565b905092915050565b6000610210838361029c565b905092915050565b600061022483836102b7565b905092915050565b600061023883836102d2565b905092915050565b60008164ffffffffff169050919050565b600061025d83836102ee565b905092915050565b60008164ffffffffff168364ffffffffff1611905092915050565b60008164ffffffffff168364ffffffffff161115905092915050565b60008164ffffffffff168364ffffffffff1614905092915050565b60008164ffffffffff168364ffffffffff1610905092915050565b60008164ffffffffff168364ffffffffff161015905092915050565b60008164ffffffffff168364ffffffffff161415905092915050565b600080fd5b600064ffffffffff82169050919050565b6103298161030f565b811461033457600080fd5b50565b60008135905061034681610320565b92915050565b600080604083850312156103635761036261030a565b5b600061037185828601610337565b925050602061038285828601610337565b9150509250929050565b60008115159050919050565b6103a18161038c565b82525050565b60006020820190506103bc6000830184610398565b92915050565b6000602082840312156103d8576103d761030a565b5b60006103e684828501610337565b91505092915050565b6000819050919050565b610402816103ef565b82525050565b600060208201905061041d60008301846103f9565b9291505056fea2646970667358221220c8144117ed9aeaef3ddb5d0c7c21e0c4f24c8cfdb4dc23b24670d33845a8e03b64736f6c63430008140033",
170
+ "bytecode": "0x61025561003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c8063add9ce9911610065578063add9ce99146100da578063c24922ce146100ed578063da09d48414610100578063ddf3d6311461012657600080fd5b806383ffcdef1461008c57806394335b1a146100b45780639df87639146100c7575b600080fd5b61009f61009a3660046101d1565b610139565b60405190151581526020015b60405180910390f35b61009f6100c23660046101d1565b610150565b61009f6100d53660046101d1565b610165565b61009f6100e83660046101d1565b610179565b61009f6100fb3660046101d1565b61018d565b61011861010e366004610204565b64ffffffffff1690565b6040519081526020016100ab565b61009f6101343660046101d1565b6101a2565b600064ffffffffff808316908416115b9392505050565b600064ffffffffff8083169084161115610149565b600064ffffffffff80841690831614610149565b600064ffffffffff80831690841610610149565b600064ffffffffff8083169084161015610149565b600064ffffffffff8084169083161415610149565b803564ffffffffff811681146101cc57600080fd5b919050565b600080604083850312156101e457600080fd5b6101ed836101b7565b91506101fb602084016101b7565b90509250929050565b60006020828403121561021657600080fd5b610149826101b756fea264697066735822122016e87f92643d0581f90789481774e8b1de3db708282694b6e79c9f85ec25d8f564736f6c63430008140033",
171
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c8063add9ce9911610065578063add9ce99146100da578063c24922ce146100ed578063da09d48414610100578063ddf3d6311461012657600080fd5b806383ffcdef1461008c57806394335b1a146100b45780639df87639146100c7575b600080fd5b61009f61009a3660046101d1565b610139565b60405190151581526020015b60405180910390f35b61009f6100c23660046101d1565b610150565b61009f6100d53660046101d1565b610165565b61009f6100e83660046101d1565b610179565b61009f6100fb3660046101d1565b61018d565b61011861010e366004610204565b64ffffffffff1690565b6040519081526020016100ab565b61009f6101343660046101d1565b6101a2565b600064ffffffffff808316908416115b9392505050565b600064ffffffffff8083169084161115610149565b600064ffffffffff80841690831614610149565b600064ffffffffff80831690841610610149565b600064ffffffffff8083169084161015610149565b600064ffffffffff8084169083161415610149565b803564ffffffffff811681146101cc57600080fd5b919050565b600080604083850312156101e457600080fd5b6101ed836101b7565b91506101fb602084016101b7565b90509250929050565b60006020828403121561021657600080fd5b610149826101b756fea264697066735822122016e87f92643d0581f90789481774e8b1de3db708282694b6e79c9f85ec25d8f564736f6c63430008140033",
172
172
  "linkReferences": {},
173
173
  "deployedLinkReferences": {}
174
174
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -44,15 +44,41 @@
44
44
  },
45
45
  {
46
46
  "inputs": [],
47
- "name": "ROUNDING_DEFAULT",
47
+ "name": "ROUNDING_DOWN",
48
48
  "outputs": [
49
49
  {
50
- "internalType": "enum UFixedMathLib.Rounding",
50
+ "internalType": "uint8",
51
51
  "name": "",
52
- "type": "UFixedMathLib.Rounding"
52
+ "type": "uint8"
53
53
  }
54
54
  ],
55
- "stateMutability": "view",
55
+ "stateMutability": "pure",
56
+ "type": "function"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "ROUNDING_HALF_UP",
61
+ "outputs": [
62
+ {
63
+ "internalType": "uint8",
64
+ "name": "",
65
+ "type": "uint8"
66
+ }
67
+ ],
68
+ "stateMutability": "pure",
69
+ "type": "function"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "ROUNDING_UP",
74
+ "outputs": [
75
+ {
76
+ "internalType": "uint8",
77
+ "name": "",
78
+ "type": "uint8"
79
+ }
80
+ ],
81
+ "stateMutability": "pure",
56
82
  "type": "function"
57
83
  },
58
84
  {
@@ -189,6 +215,11 @@
189
215
  "internalType": "UFixed",
190
216
  "name": "a",
191
217
  "type": "uint256"
218
+ },
219
+ {
220
+ "internalType": "uint8",
221
+ "name": "rounding",
222
+ "type": "uint8"
192
223
  }
193
224
  ],
194
225
  "name": "ftoi",
@@ -208,11 +239,6 @@
208
239
  "internalType": "UFixed",
209
240
  "name": "a",
210
241
  "type": "uint256"
211
- },
212
- {
213
- "internalType": "enum UFixedMathLib.Rounding",
214
- "name": "rounding",
215
- "type": "UFixedMathLib.Rounding"
216
242
  }
217
243
  ],
218
244
  "name": "ftoi",
@@ -446,8 +472,8 @@
446
472
  "type": "function"
447
473
  }
448
474
  ],
449
- "bytecode": "0x611461610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061014c5760003560e01c8063b4773329116100c2578063d05b045211610086578063d05b045214610409578063dd45daa114610439578063ea6515c414610469578063eb646d7114610499578063f30ed598146104b7578063f70dd33e146104d55761014c565b8063b47733291461032b578063b67d77c51461035b578063bc1b392d1461038b578063c8a4ac9c146103a9578063cc8b7b73146103d95761014c565b806332148d731161011457806332148d731461020b578063753b14a51461023b578063771602f71461026b5780637a858b971461029b57806392ae8ce0146102cb578063a391c15b146102fb5761014c565b8063059f8b1614610151578063118fc88c1461016f5780631a12cd471461019f57806321e5749b146101bd578063313ce567146101ed575b600080fd5b610159610505565b6040516101669190610b5e565b60405180910390f35b61018960048036038101906101849190610baa565b610519565b6040516101969190610c05565b60405180910390f35b6101a761052d565b6040516101b49190610c3c565b60405180910390f35b6101d760048036038101906101d29190610baa565b610532565b6040516101e49190610c05565b60405180910390f35b6101f5610546565b6040516102029190610b5e565b60405180910390f35b61022560048036038101906102209190610baa565b610552565b6040516102329190610c05565b60405180910390f35b61025560048036038101906102509190610c57565b610566565b6040516102629190610c05565b60405180910390f35b61028560048036038101906102809190610baa565b610578565b6040516102929190610cbf565b60405180910390f35b6102b560048036038101906102b09190610c57565b61058c565b6040516102c29190610c05565b60405180910390f35b6102e560048036038101906102e09190610d06565b61059e565b6040516102f29190610cbf565b60405180910390f35b61031560048036038101906103109190610baa565b6105c3565b6040516103229190610cbf565b60405180910390f35b61034560048036038101906103409190610baa565b6105d7565b6040516103529190610c05565b60405180910390f35b61037560048036038101906103709190610baa565b6105eb565b6040516103829190610cbf565b60405180910390f35b6103936105ff565b6040516103a09190610cbf565b60405180910390f35b6103c360048036038101906103be9190610baa565b610604565b6040516103d09190610cbf565b60405180910390f35b6103f360048036038101906103ee9190610baa565b610618565b6040516104009190610cbf565b60405180910390f35b610423600480360381019061041e9190610c57565b61062c565b6040516104309190610b5e565b60405180910390f35b610453600480360381019061044e9190610d5f565b610640565b6040516104609190610cbf565b60405180910390f35b610483600480360381019061047e9190610baa565b610713565b6040516104909190610c05565b60405180910390f35b6104a1610727565b6040516104ae9190610b5e565b60405180910390f35b6104bf610747565b6040516104cc9190610e16565b60405180910390f35b6104ef60048036038101906104ea9190610e56565b61074c565b6040516104fc9190610b5e565b60405180910390f35b601260000b600a6105169190610ff8565b81565b6000610525838361083d565b905092915050565b601281565b600061053e838361084a565b905092915050565b6000601260ff16905090565b600061055e8383610857565b905092915050565b600061057182610864565b9050919050565b60006105848383610870565b905092915050565b600061059782610886565b9050919050565b6000601260000b600a6105b19190610ff8565b826105bc9190611043565b9050919050565b60006105cf8383610892565b905092915050565b60006105e383836108f1565b905092915050565b60006105f783836108ff565b905092915050565b600090565b6000610610838361095e565b905092915050565b6000610624838361097b565b905092915050565b600061063982600261074c565b9050919050565b6000808260126106509190611085565b60000b1215610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b9061113b565b60405180910390fd5b60408260126106a39190611085565b60000b13156106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de906111a7565b60405180910390fd5b8160126106f49190611085565b600a61070091906111d4565b8361070b9190611043565b905092915050565b600061071f83836109b0565b905092915050565b6002601260000b600a61073a9190610ff8565b610744919061124e565b81565b600281565b600060028081111561076157610760610d9f565b5b82600281111561077457610773610d9f565b5b036107c5576107be6002601260000b600a61078f9190610ff8565b610799919061124e565b846107a4919061127f565b6001601260000b600a6107b79190610ff8565b60006109be565b9050610837565b600060028111156107d9576107d8610d9f565b5b8260028111156107ec576107eb610d9f565b5b036108165761080f836001601260000b600a6108089190610ff8565b60006109be565b9050610837565b610834836001601260000b600a61082d9190610ff8565b60016109be565b90505b92915050565b6000818310905092915050565b6000818311905092915050565b6000818314905092915050565b60008082149050919050565b6000818361087e919061127f565b905092915050565b60008082119050919050565b60008082116108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd906112ff565b60405180910390fd5b6108e983670de0b6b3a764000084610a34565b905092915050565b600081831015905092915050565b600061090b83836108f1565b61094a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109419061136b565b60405180910390fd5b8183610956919061138b565b905092915050565b60006109738383670de0b6b3a7640000610a34565b905092915050565b6000610987838361084a565b1561099d5761099683836108ff565b90506109aa565b6109a782846108ff565b90505b92915050565b600081831115905092915050565b6000806109cc868686610a34565b9050600160028111156109e2576109e1610d9f565b5b8360028111156109f5576109f4610d9f565b5b148015610a13575060008480610a0e57610a0d61121f565b5b868809115b15610a2857600181610a25919061127f565b90505b80915050949350505050565b6000806000801985870985870292508281108382030391505060008103610a6f57838281610a6557610a6461121f565b5b0492505050610b3e565b808411610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061140b565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6000819050919050565b610b5881610b45565b82525050565b6000602082019050610b736000830184610b4f565b92915050565b600080fd5b610b8781610b45565b8114610b9257600080fd5b50565b600081359050610ba481610b7e565b92915050565b60008060408385031215610bc157610bc0610b79565b5b6000610bcf85828601610b95565b9250506020610be085828601610b95565b9150509250929050565b60008115159050919050565b610bff81610bea565b82525050565b6000602082019050610c1a6000830184610bf6565b92915050565b60008160000b9050919050565b610c3681610c20565b82525050565b6000602082019050610c516000830184610c2d565b92915050565b600060208284031215610c6d57610c6c610b79565b5b6000610c7b84828501610b95565b91505092915050565b6000819050919050565b6000610ca9610ca4610c9f84610b45565b610c84565b610b45565b9050919050565b610cb981610c8e565b82525050565b6000602082019050610cd46000830184610cb0565b92915050565b610ce381610b45565b8114610cee57600080fd5b50565b600081359050610d0081610cda565b92915050565b600060208284031215610d1c57610d1b610b79565b5b6000610d2a84828501610cf1565b91505092915050565b610d3c81610c20565b8114610d4757600080fd5b50565b600081359050610d5981610d33565b92915050565b60008060408385031215610d7657610d75610b79565b5b6000610d8485828601610cf1565b9250506020610d9585828601610d4a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610ddf57610dde610d9f565b5b50565b6000819050610df082610dce565b919050565b6000610e0082610de2565b9050919050565b610e1081610df5565b82525050565b6000602082019050610e2b6000830184610e07565b92915050565b60038110610e3e57600080fd5b50565b600081359050610e5081610e31565b92915050565b60008060408385031215610e6d57610e6c610b79565b5b6000610e7b85828601610b95565b9250506020610e8c85828601610e41565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f1c57808604811115610ef857610ef7610e96565b5b6001851615610f075780820291505b8081029050610f1585610ec5565b9450610edc565b94509492505050565b600082610f355760019050610ff1565b81610f435760009050610ff1565b8160018114610f595760028114610f6357610f92565b6001915050610ff1565b60ff841115610f7557610f74610e96565b5b8360020a915084821115610f8c57610f8b610e96565b5b50610ff1565b5060208310610133831016604e8410600b8410161715610fc75782820a905083811115610fc257610fc1610e96565b5b610ff1565b610fd48484846001610ed2565b92509050818404811115610feb57610fea610e96565b5b81810290505b9392505050565b600061100382610b45565b915061100e83610b45565b925061103b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f25565b905092915050565b600061104e82610b45565b915061105983610b45565b925082820261106781610b45565b9150828204841483151761107e5761107d610e96565b5b5092915050565b600061109082610c20565b915061109b83610c20565b925082820190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808112607f821317156110d8576110d7610e96565b5b92915050565b600082825260208201905092915050565b7f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c00600082015250565b6000611125601f836110de565b9150611130826110ef565b602082019050919050565b6000602082019050818103600083015261115481611118565b9050919050565b7f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c4152474500600082015250565b6000611191601f836110de565b915061119c8261115b565b602082019050919050565b600060208201905081810360008301526111c081611184565b9050919050565b600060ff82169050919050565b60006111df82610b45565b91506111ea836111c7565b92506112177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f25565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061125982610b45565b915061126483610b45565b9250826112745761127361121f565b5b828204905092915050565b600061128a82610b45565b915061129583610b45565b92508282019050808211156112ad576112ac610e96565b5b92915050565b7f4552524f523a55464d2d3032303a44495649534f525f5a45524f000000000000600082015250565b60006112e9601a836110de565b91506112f4826112b3565b602082019050919050565b60006020820190508181036000830152611318816112dc565b9050919050565b7f4552524f523a55464d2d3031303a4e454741544956455f524553554c54000000600082015250565b6000611355601d836110de565b91506113608261131f565b602082019050919050565b6000602082019050818103600083015261138481611348565b9050919050565b600061139682610b45565b91506113a183610b45565b92508282039050818111156113b9576113b8610e96565b5b92915050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b60006113f56015836110de565b9150611400826113bf565b602082019050919050565b60006020820190508181036000830152611424816113e8565b905091905056fea2646970667358221220af1ecc6c0c2b56505c376d0dd83afbf44fd70dba799e8cf7e1bf20908bc5c61764736f6c63430008140033",
450
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061014c5760003560e01c8063b4773329116100c2578063d05b045211610086578063d05b045214610409578063dd45daa114610439578063ea6515c414610469578063eb646d7114610499578063f30ed598146104b7578063f70dd33e146104d55761014c565b8063b47733291461032b578063b67d77c51461035b578063bc1b392d1461038b578063c8a4ac9c146103a9578063cc8b7b73146103d95761014c565b806332148d731161011457806332148d731461020b578063753b14a51461023b578063771602f71461026b5780637a858b971461029b57806392ae8ce0146102cb578063a391c15b146102fb5761014c565b8063059f8b1614610151578063118fc88c1461016f5780631a12cd471461019f57806321e5749b146101bd578063313ce567146101ed575b600080fd5b610159610505565b6040516101669190610b5e565b60405180910390f35b61018960048036038101906101849190610baa565b610519565b6040516101969190610c05565b60405180910390f35b6101a761052d565b6040516101b49190610c3c565b60405180910390f35b6101d760048036038101906101d29190610baa565b610532565b6040516101e49190610c05565b60405180910390f35b6101f5610546565b6040516102029190610b5e565b60405180910390f35b61022560048036038101906102209190610baa565b610552565b6040516102329190610c05565b60405180910390f35b61025560048036038101906102509190610c57565b610566565b6040516102629190610c05565b60405180910390f35b61028560048036038101906102809190610baa565b610578565b6040516102929190610cbf565b60405180910390f35b6102b560048036038101906102b09190610c57565b61058c565b6040516102c29190610c05565b60405180910390f35b6102e560048036038101906102e09190610d06565b61059e565b6040516102f29190610cbf565b60405180910390f35b61031560048036038101906103109190610baa565b6105c3565b6040516103229190610cbf565b60405180910390f35b61034560048036038101906103409190610baa565b6105d7565b6040516103529190610c05565b60405180910390f35b61037560048036038101906103709190610baa565b6105eb565b6040516103829190610cbf565b60405180910390f35b6103936105ff565b6040516103a09190610cbf565b60405180910390f35b6103c360048036038101906103be9190610baa565b610604565b6040516103d09190610cbf565b60405180910390f35b6103f360048036038101906103ee9190610baa565b610618565b6040516104009190610cbf565b60405180910390f35b610423600480360381019061041e9190610c57565b61062c565b6040516104309190610b5e565b60405180910390f35b610453600480360381019061044e9190610d5f565b610640565b6040516104609190610cbf565b60405180910390f35b610483600480360381019061047e9190610baa565b610713565b6040516104909190610c05565b60405180910390f35b6104a1610727565b6040516104ae9190610b5e565b60405180910390f35b6104bf610747565b6040516104cc9190610e16565b60405180910390f35b6104ef60048036038101906104ea9190610e56565b61074c565b6040516104fc9190610b5e565b60405180910390f35b601260000b600a6105169190610ff8565b81565b6000610525838361083d565b905092915050565b601281565b600061053e838361084a565b905092915050565b6000601260ff16905090565b600061055e8383610857565b905092915050565b600061057182610864565b9050919050565b60006105848383610870565b905092915050565b600061059782610886565b9050919050565b6000601260000b600a6105b19190610ff8565b826105bc9190611043565b9050919050565b60006105cf8383610892565b905092915050565b60006105e383836108f1565b905092915050565b60006105f783836108ff565b905092915050565b600090565b6000610610838361095e565b905092915050565b6000610624838361097b565b905092915050565b600061063982600261074c565b9050919050565b6000808260126106509190611085565b60000b1215610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b9061113b565b60405180910390fd5b60408260126106a39190611085565b60000b13156106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de906111a7565b60405180910390fd5b8160126106f49190611085565b600a61070091906111d4565b8361070b9190611043565b905092915050565b600061071f83836109b0565b905092915050565b6002601260000b600a61073a9190610ff8565b610744919061124e565b81565b600281565b600060028081111561076157610760610d9f565b5b82600281111561077457610773610d9f565b5b036107c5576107be6002601260000b600a61078f9190610ff8565b610799919061124e565b846107a4919061127f565b6001601260000b600a6107b79190610ff8565b60006109be565b9050610837565b600060028111156107d9576107d8610d9f565b5b8260028111156107ec576107eb610d9f565b5b036108165761080f836001601260000b600a6108089190610ff8565b60006109be565b9050610837565b610834836001601260000b600a61082d9190610ff8565b60016109be565b90505b92915050565b6000818310905092915050565b6000818311905092915050565b6000818314905092915050565b60008082149050919050565b6000818361087e919061127f565b905092915050565b60008082119050919050565b60008082116108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd906112ff565b60405180910390fd5b6108e983670de0b6b3a764000084610a34565b905092915050565b600081831015905092915050565b600061090b83836108f1565b61094a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109419061136b565b60405180910390fd5b8183610956919061138b565b905092915050565b60006109738383670de0b6b3a7640000610a34565b905092915050565b6000610987838361084a565b1561099d5761099683836108ff565b90506109aa565b6109a782846108ff565b90505b92915050565b600081831115905092915050565b6000806109cc868686610a34565b9050600160028111156109e2576109e1610d9f565b5b8360028111156109f5576109f4610d9f565b5b148015610a13575060008480610a0e57610a0d61121f565b5b868809115b15610a2857600181610a25919061127f565b90505b80915050949350505050565b6000806000801985870985870292508281108382030391505060008103610a6f57838281610a6557610a6461121f565b5b0492505050610b3e565b808411610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061140b565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6000819050919050565b610b5881610b45565b82525050565b6000602082019050610b736000830184610b4f565b92915050565b600080fd5b610b8781610b45565b8114610b9257600080fd5b50565b600081359050610ba481610b7e565b92915050565b60008060408385031215610bc157610bc0610b79565b5b6000610bcf85828601610b95565b9250506020610be085828601610b95565b9150509250929050565b60008115159050919050565b610bff81610bea565b82525050565b6000602082019050610c1a6000830184610bf6565b92915050565b60008160000b9050919050565b610c3681610c20565b82525050565b6000602082019050610c516000830184610c2d565b92915050565b600060208284031215610c6d57610c6c610b79565b5b6000610c7b84828501610b95565b91505092915050565b6000819050919050565b6000610ca9610ca4610c9f84610b45565b610c84565b610b45565b9050919050565b610cb981610c8e565b82525050565b6000602082019050610cd46000830184610cb0565b92915050565b610ce381610b45565b8114610cee57600080fd5b50565b600081359050610d0081610cda565b92915050565b600060208284031215610d1c57610d1b610b79565b5b6000610d2a84828501610cf1565b91505092915050565b610d3c81610c20565b8114610d4757600080fd5b50565b600081359050610d5981610d33565b92915050565b60008060408385031215610d7657610d75610b79565b5b6000610d8485828601610cf1565b9250506020610d9585828601610d4a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610ddf57610dde610d9f565b5b50565b6000819050610df082610dce565b919050565b6000610e0082610de2565b9050919050565b610e1081610df5565b82525050565b6000602082019050610e2b6000830184610e07565b92915050565b60038110610e3e57600080fd5b50565b600081359050610e5081610e31565b92915050565b60008060408385031215610e6d57610e6c610b79565b5b6000610e7b85828601610b95565b9250506020610e8c85828601610e41565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f1c57808604811115610ef857610ef7610e96565b5b6001851615610f075780820291505b8081029050610f1585610ec5565b9450610edc565b94509492505050565b600082610f355760019050610ff1565b81610f435760009050610ff1565b8160018114610f595760028114610f6357610f92565b6001915050610ff1565b60ff841115610f7557610f74610e96565b5b8360020a915084821115610f8c57610f8b610e96565b5b50610ff1565b5060208310610133831016604e8410600b8410161715610fc75782820a905083811115610fc257610fc1610e96565b5b610ff1565b610fd48484846001610ed2565b92509050818404811115610feb57610fea610e96565b5b81810290505b9392505050565b600061100382610b45565b915061100e83610b45565b925061103b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f25565b905092915050565b600061104e82610b45565b915061105983610b45565b925082820261106781610b45565b9150828204841483151761107e5761107d610e96565b5b5092915050565b600061109082610c20565b915061109b83610c20565b925082820190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808112607f821317156110d8576110d7610e96565b5b92915050565b600082825260208201905092915050565b7f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c00600082015250565b6000611125601f836110de565b9150611130826110ef565b602082019050919050565b6000602082019050818103600083015261115481611118565b9050919050565b7f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c4152474500600082015250565b6000611191601f836110de565b915061119c8261115b565b602082019050919050565b600060208201905081810360008301526111c081611184565b9050919050565b600060ff82169050919050565b60006111df82610b45565b91506111ea836111c7565b92506112177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f25565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061125982610b45565b915061126483610b45565b9250826112745761127361121f565b5b828204905092915050565b600061128a82610b45565b915061129583610b45565b92508282019050808211156112ad576112ac610e96565b5b92915050565b7f4552524f523a55464d2d3032303a44495649534f525f5a45524f000000000000600082015250565b60006112e9601a836110de565b91506112f4826112b3565b602082019050919050565b60006020820190508181036000830152611318816112dc565b9050919050565b7f4552524f523a55464d2d3031303a4e454741544956455f524553554c54000000600082015250565b6000611355601d836110de565b91506113608261131f565b602082019050919050565b6000602082019050818103600083015261138481611348565b9050919050565b600061139682610b45565b91506113a183610b45565b92508282039050818111156113b9576113b8610e96565b5b92915050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b60006113f56015836110de565b9150611400826113bf565b602082019050919050565b60006020820190508181036000830152611424816113e8565b905091905056fea2646970667358221220af1ecc6c0c2b56505c376d0dd83afbf44fd70dba799e8cf7e1bf20908bc5c61764736f6c63430008140033",
475
+ "bytecode": "0x610a2d61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101625760003560e01c806393aa8725116100cd578063c8a4ac9c11610086578063c8a4ac9c146102af578063cc8b7b73146102c2578063d05b0452146102d5578063dd45daa1146102e8578063ea6515c4146102fb578063eb646d711461030e57600080fd5b806393aa872514610261578063a391c15b14610268578063b47733291461027b578063b67d77c51461028e578063bc1b392d146102a1578063bdbb4630146102a857600080fd5b8063753b14a51161011f578063753b14a5146101ed578063771602f7146102005780637a858b971461021357806389fa8ed7146102265780638f24f6011461023b57806392ae8ce01461024e57600080fd5b8063059f8b1614610167578063118fc88c146101825780631a12cd47146101a557806321e5749b146101c0578063313ce567146101d357806332148d73146101da575b600080fd5b61016f610316565b6040519081526020015b60405180910390f35b61019561019036600461079a565b610325565b6040519015158152602001610179565b6101ad601281565b60405160009190910b8152602001610179565b6101956101ce36600461079a565b610334565b601261016f565b6101956101e836600461079a565b61033e565b6101956101fb3660046107bc565b610348565b61016f61020e36600461079a565b610351565b6101956102213660046107bc565b61035d565b60025b60405160ff9091168152602001610179565b61016f6102493660046107d5565b610367565b61016f61025c3660046107bc565b6103e9565b6000610229565b61016f61027636600461079a565b610401565b61019561028936600461079a565b61040d565b61016f61029c36600461079a565b610418565b600061016f565b6001610229565b61016f6102bd36600461079a565b610424565b61016f6102d036600461079a565b610430565b61016f6102e33660046107bc565b61043c565b61016f6102f636600461080b565b610449565b61019561030936600461079a565b61052b565b61016f610536565b6103226012600a610930565b81565b60008282115b90505b92915050565b600082821061032b565b600081831461032b565b6000811561032e565b600061032b838361054e565b600081151561032e565b600060011960ff8316016103b6576103af60026103866012600a610930565b6103909190610952565b61039a9085610974565b60016103a86012600a610930565b600061055a565b905061032e565b60ff82166103d0576103af8360016103a86012600a610930565b6103af8360016103e26012600a610930565b600161055a565b60006103f76012600a610930565b61032e9083610987565b600061032b83836105b7565b60008282111561032b565b600061032b838361061b565b600061032b8383610677565b600061032b838361068c565b600061032e826002610367565b60008061045783601261099e565b60000b12156104ad5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b60406104ba83601261099e565b60000b131561050b5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c415247450060448201526064016104a4565b61051682601261099e565b61052190600a6109bf565b61032b9084610987565b60008282101561032b565b60026105446012600a610930565b6103229190610952565b600061032b8284610974565b6000806105688686866106aa565b9050600183600281111561057e5761057e6109ce565b14801561059b5750600084806105965761059661093c565b868809115b156105ae576105ab600182610974565b90505b95945050505050565b60008082116106085760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f00000000000060448201526064016104a4565b61032b83670de0b6b3a7640000846106aa565b60008282111561066d5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c5400000060448201526064016104a4565b61032b82846109e4565b600061032b8383670de0b6b3a76400006106aa565b6000828210156106a0576103af838361061b565b61032b828461061b565b60008080600019858709858702925082811083820303915050806000036106e4578382816106da576106da61093c565b0492505050610793565b80841161072b5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016104a4565b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b600080604083850312156107ad57600080fd5b50508035926020909101359150565b6000602082840312156107ce57600080fd5b5035919050565b600080604083850312156107e857600080fd5b82359150602083013560ff8116811461080057600080fd5b809150509250929050565b6000806040838503121561081e57600080fd5b8235915060208301358060000b811461080057600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561088757816000190482111561086d5761086d610836565b8085161561087a57918102915b93841c9390800290610851565b509250929050565b60008261089e5750600161032e565b816108ab5750600061032e565b81600181146108c157600281146108cb576108e7565b600191505061032e565b60ff8411156108dc576108dc610836565b50506001821b61032e565b5060208310610133831016604e8410600b841016171561090a575081810a61032e565b610914838361084c565b806000190482111561092857610928610836565b029392505050565b600061032b838361088f565b634e487b7160e01b600052601260045260246000fd5b60008261096f57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561032e5761032e610836565b808202811582820484141761032e5761032e610836565b600081810b9083900b01607f8113607f198212171561032e5761032e610836565b600061032b60ff84168361088f565b634e487b7160e01b600052602160045260246000fd5b8181038181111561032e5761032e61083656fea2646970667358221220a5d86e098c418522257789f942a85f958c24134c3527e49c06970e7022704f0964736f6c63430008140033",
476
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101625760003560e01c806393aa8725116100cd578063c8a4ac9c11610086578063c8a4ac9c146102af578063cc8b7b73146102c2578063d05b0452146102d5578063dd45daa1146102e8578063ea6515c4146102fb578063eb646d711461030e57600080fd5b806393aa872514610261578063a391c15b14610268578063b47733291461027b578063b67d77c51461028e578063bc1b392d146102a1578063bdbb4630146102a857600080fd5b8063753b14a51161011f578063753b14a5146101ed578063771602f7146102005780637a858b971461021357806389fa8ed7146102265780638f24f6011461023b57806392ae8ce01461024e57600080fd5b8063059f8b1614610167578063118fc88c146101825780631a12cd47146101a557806321e5749b146101c0578063313ce567146101d357806332148d73146101da575b600080fd5b61016f610316565b6040519081526020015b60405180910390f35b61019561019036600461079a565b610325565b6040519015158152602001610179565b6101ad601281565b60405160009190910b8152602001610179565b6101956101ce36600461079a565b610334565b601261016f565b6101956101e836600461079a565b61033e565b6101956101fb3660046107bc565b610348565b61016f61020e36600461079a565b610351565b6101956102213660046107bc565b61035d565b60025b60405160ff9091168152602001610179565b61016f6102493660046107d5565b610367565b61016f61025c3660046107bc565b6103e9565b6000610229565b61016f61027636600461079a565b610401565b61019561028936600461079a565b61040d565b61016f61029c36600461079a565b610418565b600061016f565b6001610229565b61016f6102bd36600461079a565b610424565b61016f6102d036600461079a565b610430565b61016f6102e33660046107bc565b61043c565b61016f6102f636600461080b565b610449565b61019561030936600461079a565b61052b565b61016f610536565b6103226012600a610930565b81565b60008282115b90505b92915050565b600082821061032b565b600081831461032b565b6000811561032e565b600061032b838361054e565b600081151561032e565b600060011960ff8316016103b6576103af60026103866012600a610930565b6103909190610952565b61039a9085610974565b60016103a86012600a610930565b600061055a565b905061032e565b60ff82166103d0576103af8360016103a86012600a610930565b6103af8360016103e26012600a610930565b600161055a565b60006103f76012600a610930565b61032e9083610987565b600061032b83836105b7565b60008282111561032b565b600061032b838361061b565b600061032b8383610677565b600061032b838361068c565b600061032e826002610367565b60008061045783601261099e565b60000b12156104ad5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b60406104ba83601261099e565b60000b131561050b5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c415247450060448201526064016104a4565b61051682601261099e565b61052190600a6109bf565b61032b9084610987565b60008282101561032b565b60026105446012600a610930565b6103229190610952565b600061032b8284610974565b6000806105688686866106aa565b9050600183600281111561057e5761057e6109ce565b14801561059b5750600084806105965761059661093c565b868809115b156105ae576105ab600182610974565b90505b95945050505050565b60008082116106085760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f00000000000060448201526064016104a4565b61032b83670de0b6b3a7640000846106aa565b60008282111561066d5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c5400000060448201526064016104a4565b61032b82846109e4565b600061032b8383670de0b6b3a76400006106aa565b6000828210156106a0576103af838361061b565b61032b828461061b565b60008080600019858709858702925082811083820303915050806000036106e4578382816106da576106da61093c565b0492505050610793565b80841161072b5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016104a4565b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b600080604083850312156107ad57600080fd5b50508035926020909101359150565b6000602082840312156107ce57600080fd5b5035919050565b600080604083850312156107e857600080fd5b82359150602083013560ff8116811461080057600080fd5b809150509250929050565b6000806040838503121561081e57600080fd5b8235915060208301358060000b811461080057600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561088757816000190482111561086d5761086d610836565b8085161561087a57918102915b93841c9390800290610851565b509250929050565b60008261089e5750600161032e565b816108ab5750600061032e565b81600181146108c157600281146108cb576108e7565b600191505061032e565b60ff8411156108dc576108dc610836565b50506001821b61032e565b5060208310610133831016604e8410600b841016171561090a575081810a61032e565b610914838361084c565b806000190482111561092857610928610836565b029392505050565b600061032b838361088f565b634e487b7160e01b600052601260045260246000fd5b60008261096f57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561032e5761032e610836565b808202811582820484141761032e5761032e610836565b600081810b9083900b01607f8113607f198212171561032e5761032e610836565b600061032b60ff84168361088f565b634e487b7160e01b600052602160045260246000fd5b8181038181111561032e5761032e61083656fea2646970667358221220a5d86e098c418522257789f942a85f958c24134c3527e49c06970e7022704f0964736f6c63430008140033",
451
477
  "linkReferences": {},
452
478
  "deployedLinkReferences": {}
453
479
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.19;
3
3
 
4
- import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
4
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
6
  import {IRegistry, IRegisterable, IRegistryLinked} from "../registry/IRegistry.sol";
7
7
  import {Registerable} from "../registry/Registry.sol";
@@ -17,7 +17,7 @@ contract InstanceLinked is IInstanceLinked {
17
17
  _instance = IInstance(instance);
18
18
  }
19
19
 
20
- function getInstance() public view override returns(IInstance instance) {
20
+ function getInstance() public view override returns (IInstance instance) {
21
21
  return _instance;
22
22
  }
23
23
  }
@@ -29,19 +29,15 @@ abstract contract Component is
29
29
  {
30
30
  address private _deployer;
31
31
  address private _wallet;
32
- IERC20 private _token;
32
+ IERC20Metadata private _token;
33
33
 
34
34
  constructor(
35
35
  address registry,
36
36
  address instance,
37
37
  address token
38
-
39
- )
40
- Registerable(registry)
41
- InstanceLinked(instance)
42
- {
38
+ ) Registerable(registry) InstanceLinked(instance) {
43
39
  _wallet = address(this);
44
- _token = IERC20(token);
40
+ _token = IERC20Metadata(token);
45
41
  }
46
42
 
47
43
  // from registerable
@@ -66,12 +62,16 @@ abstract contract Component is
66
62
  }
67
63
 
68
64
  // from component contract
69
- function getWallet() external view override returns(address walletAddress) {
65
+ function getWallet()
66
+ external
67
+ view
68
+ override
69
+ returns (address walletAddress)
70
+ {
70
71
  return _wallet;
71
72
  }
72
73
 
73
- function getToken() external view override returns(IERC20 token) {
74
+ function getToken() external view override returns (IERC20Metadata token) {
74
75
  return _token;
75
76
  }
76
-
77
77
  }
@@ -6,6 +6,10 @@ import {IComponentContract} from "../instance/component/IComponent.sol";
6
6
 
7
7
  // just marker interface for now
8
8
  interface IPoolComponent is IComponentContract {
9
- function getStakingFee() external view returns(Fee memory stakingFee);
10
- function getPerformanceFee() external view returns(Fee memory performanceFee);
9
+ function getStakingFee() external view returns (Fee memory stakingFee);
10
+
11
+ function getPerformanceFee()
12
+ external
13
+ view
14
+ returns (Fee memory performanceFee);
11
15
  }
@@ -6,6 +6,11 @@ import {Fee} from "../types/Fee.sol";
6
6
 
7
7
  interface IProductComponent {
8
8
  function getPoolNftId() external view returns (NftId poolNftId);
9
- function getPolicyFee() external view returns(Fee memory policyFee);
10
- function getProcessingFee() external view returns(Fee memory processingFee);
9
+
10
+ function getPolicyFee() external view returns (Fee memory policyFee);
11
+
12
+ function getProcessingFee()
13
+ external
14
+ view
15
+ returns (Fee memory processingFee);
11
16
  }