@ember-finance/sdk 2.5.0 → 2.6.0-pre.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/src/abis/AtomicLiquidity.json +4050 -0
  2. package/dist/src/abis/ERC20Token.json +2 -2
  3. package/dist/src/abis/EmberETHVault.json +279 -5
  4. package/dist/src/abis/EmberProtocolConfig.json +170 -2
  5. package/dist/src/abis/EmberVault.json +2 -2
  6. package/dist/src/abis/EmberVaultMintBurnOFTAdapter.json +43 -2
  7. package/dist/src/api/v2/apis/accounts-api.d.ts +5 -0
  8. package/dist/src/api/v2/apis/accounts-api.js +6 -1
  9. package/dist/src/api/v2/apis/vaults-api.d.ts +16 -4
  10. package/dist/src/api/v2/apis/vaults-api.js +21 -7
  11. package/dist/src/api/v2/models/account-transaction-transaction-data.d.ts +5 -1
  12. package/dist/src/api/v2/models/account-transaction.d.ts +5 -0
  13. package/dist/src/api/v2/models/account-transaction.js +6 -1
  14. package/dist/src/api/v2/models/chain-vault-details.d.ts +14 -0
  15. package/dist/src/api/v2/models/escrow-claim-transaction.d.ts +56 -0
  16. package/dist/src/api/v2/models/escrow-claim-transaction.js +14 -0
  17. package/dist/src/api/v2/models/evm-atomic-liquidity-lib.d.ts +48 -0
  18. package/dist/src/api/v2/models/evm-atomic-liquidity-lib.js +14 -0
  19. package/dist/src/api/v2/models/evm-atomic-vault.d.ts +102 -0
  20. package/dist/src/api/v2/models/evm-atomic-vault.js +14 -0
  21. package/dist/src/api/v2/models/evm-contracts.d.ts +16 -0
  22. package/dist/src/api/v2/models/fee-multiplier-tier.d.ts +30 -0
  23. package/dist/src/api/v2/models/fee-multiplier-tier.js +14 -0
  24. package/dist/src/api/v2/models/holdback-release-transaction.d.ts +56 -0
  25. package/dist/src/api/v2/models/holdback-release-transaction.js +14 -0
  26. package/dist/src/api/v2/models/index.d.ts +9 -0
  27. package/dist/src/api/v2/models/index.js +9 -0
  28. package/dist/src/api/v2/models/instant-withdraw-config.d.ts +109 -0
  29. package/dist/src/api/v2/models/instant-withdraw-config.js +14 -0
  30. package/dist/src/api/v2/models/instant-withdraw-transaction.d.ts +74 -0
  31. package/dist/src/api/v2/models/instant-withdraw-transaction.js +14 -0
  32. package/dist/src/api/v2/models/instant-withdraw-via-swap-transaction.d.ts +74 -0
  33. package/dist/src/api/v2/models/instant-withdraw-via-swap-transaction.js +14 -0
  34. package/dist/src/api/v2/models/supported-ember-vault.d.ts +42 -0
  35. package/dist/src/api/v2/models/supported-ember-vault.js +14 -0
  36. package/dist/src/api/v2/models/vault-detail.d.ts +11 -0
  37. package/dist/src/api/v2/models/vault-detail.js +4 -0
  38. package/dist/src/atomic/instant-withdraw.d.ts +125 -0
  39. package/dist/src/atomic/instant-withdraw.js +122 -0
  40. package/dist/src/ember-vaults.d.ts +2 -1
  41. package/dist/src/evm-vaults/on-chain-calls/atomic-liquidity.d.ts +98 -0
  42. package/dist/src/evm-vaults/on-chain-calls/atomic-liquidity.js +212 -0
  43. package/dist/src/evm-vaults/on-chain-calls/index.d.ts +1 -0
  44. package/dist/src/evm-vaults/on-chain-calls/index.js +1 -0
  45. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +10 -0
  46. package/dist/src/evm-vaults/on-chain-calls/operator.js +28 -0
  47. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +109 -0
  48. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +281 -0
  49. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +50 -0
  50. package/dist/src/evm-vaults/on-chain-calls/user.js +75 -0
  51. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +55 -0
  52. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +122 -0
  53. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +6 -0
  54. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +9 -0
  55. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +8 -0
  56. package/dist/src/evm-vaults/utils/deployment-parser.js +11 -0
  57. package/dist/src/sui-vaults/interfaces/index.d.ts +15 -0
  58. package/dist/src/sui-vaults/on-chain-calls/admin.d.ts +37 -1
  59. package/dist/src/sui-vaults/on-chain-calls/admin.js +56 -0
  60. package/dist/src/sui-vaults/on-chain-calls/atomic-liquidity.d.ts +62 -0
  61. package/dist/src/sui-vaults/on-chain-calls/atomic-liquidity.js +174 -0
  62. package/dist/src/sui-vaults/on-chain-calls/index.d.ts +1 -0
  63. package/dist/src/sui-vaults/on-chain-calls/index.js +1 -0
  64. package/dist/src/sui-vaults/on-chain-calls/onchain-calls.d.ts +2 -1
  65. package/dist/src/sui-vaults/on-chain-calls/operator.d.ts +129 -1
  66. package/dist/src/sui-vaults/on-chain-calls/operator.js +210 -0
  67. package/dist/src/sui-vaults/on-chain-calls/tx-builder.d.ts +482 -0
  68. package/dist/src/sui-vaults/on-chain-calls/tx-builder.js +1430 -0
  69. package/dist/src/sui-vaults/on-chain-calls/user.d.ts +107 -1
  70. package/dist/src/sui-vaults/on-chain-calls/user.js +190 -0
  71. package/dist/src/sui-vaults/on-chain-calls/vault-admin.d.ts +229 -1
  72. package/dist/src/sui-vaults/on-chain-calls/vault-admin.js +391 -0
  73. package/dist/src/sui-vaults/on-chain-calls/vault.d.ts +2 -1
  74. package/dist/src/sui-vaults/utils/common.d.ts +2 -1
  75. package/dist/src/sui-vaults/utils/deployment-parser.d.ts +12 -0
  76. package/dist/src/sui-vaults/utils/deployment-parser.js +24 -0
  77. package/package.json +3 -2
@@ -19,6 +19,11 @@
19
19
  "internalType": "address",
20
20
  "name": "_delegate",
21
21
  "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_protocolConfig",
26
+ "type": "address"
22
27
  }
23
28
  ],
24
29
  "stateMutability": "nonpayable",
@@ -200,6 +205,16 @@
200
205
  "name": "SlippageExceeded",
201
206
  "type": "error"
202
207
  },
208
+ {
209
+ "inputs": [],
210
+ "name": "Unauthorized",
211
+ "type": "error"
212
+ },
213
+ {
214
+ "inputs": [],
215
+ "name": "ZeroAddress",
216
+ "type": "error"
217
+ },
203
218
  {
204
219
  "anonymous": false,
205
220
  "inputs": [
@@ -388,6 +403,19 @@
388
403
  "name": "Unpaused",
389
404
  "type": "event"
390
405
  },
406
+ {
407
+ "inputs": [],
408
+ "name": "DEAD_ADDRESS",
409
+ "outputs": [
410
+ {
411
+ "internalType": "address",
412
+ "name": "",
413
+ "type": "address"
414
+ }
415
+ ],
416
+ "stateMutability": "view",
417
+ "type": "function"
418
+ },
391
419
  {
392
420
  "inputs": [],
393
421
  "name": "SEND",
@@ -935,6 +963,19 @@
935
963
  "stateMutability": "view",
936
964
  "type": "function"
937
965
  },
966
+ {
967
+ "inputs": [],
968
+ "name": "protocolConfig",
969
+ "outputs": [
970
+ {
971
+ "internalType": "contract IEmberProtocolConfig",
972
+ "name": "",
973
+ "type": "address"
974
+ }
975
+ ],
976
+ "stateMutability": "view",
977
+ "type": "function"
978
+ },
938
979
  {
939
980
  "inputs": [
940
981
  {
@@ -1375,8 +1416,8 @@
1375
1416
  "type": "function"
1376
1417
  }
1377
1418
  ],
1378
- "bytecode": "0x61010060409080825234620002aa57600090606081620029538038038091620000298285620002af565b8339810103126200023e57826200004082620002e9565b6200004e60208401620002e9565b926001600160a01b03928391620000669101620002e9565b16928315620002925784546001600160a01b0319811685178655839190859083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a31680608052803b156200028e57848091602488518094819363ca5eb5e160e01b83526004998a8401525af18015620002845762000255575b501691835163313ce56760e01b81526020818481875afa80156200024b57829062000203575b60ff91501660068110620001f3576005190160ff8111620001e05760ff1691604d8311620001cd575050600a0a60e0528060a05260c052516126549081620002ff82396080518181816105e10152818161094801528181610d73015281816115c80152818161246f015261251c015260a0518181816103b401528181610a04015281816114620152612255015260c051816117cd015260e0518181816106780152818161089201528181610fdc0152818161142b01528181611c6601526122d40152f35b634e487b7160e01b825260119052602490fd5b506011602492634e487b7160e01b835252fd5b84516301e9714b60e41b81528390fd5b506020813d60201162000242575b816200022060209383620002af565b810103126200023e575160ff811681036200023e5760ff9062000109565b5080fd5b3d915062000211565b85513d84823e3d90fd5b9093906001600160401b038111620002715785529238620000e3565b634e487b7160e01b825260418452602482fd5b86513d87823e3d90fd5b8480fd5b8551631e4fbdf760e01b815260048101869052602490fd5b600080fd5b601f909101601f19168101906001600160401b03821190821017620002d357604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002aa5756fe6080604052600436101561001257600080fd5b60003560e01c80630d35b41514610257578063111ecdad1461025257806313137d651461024d578063156a0d0f1461024857806317442b70146102435780631f5e13341461023e5780633400288b146102395780633b6f743b146102345780633e394a8b1461022f5780633f4ba83a1461022a57806352ae2879146102255780635535d461146102205780635a0dfe4d1461021b5780635c975abb146102165780635e280f11146102115780636fc1b31e1461020c578063715018a6146102075780637d25a05e1461020257806382413eac146101fd5780638456cb59146101f8578063857749b0146101f35780638da5cb5b146101ee578063963efcaa146101e95780639f68b964146101e4578063b731ea0a146101df578063b98bd070146101da578063bb0b6a53146101d5578063bc70b354146101d0578063bd815db0146101cb578063c7c7f5b3146101c6578063ca5eb5e1146101c1578063d045a0dc146101bc578063d4243885146101b7578063f2fde38b146101b2578063fc0c546a146101ad5763ff7bd03d146101a857600080fd5b6117fc565b6117b7565b61172b565b6116bb565b611630565b611597565b6113a6565b6111fc565b6111a8565b61116d565b611090565b61101b565b610fff565b610fc4565b610f9b565b610f7f565b610f25565b610ec7565b610ea0565b610e42565b610da2565b610d5d565b610d3a565b610cf2565b610c84565b610a9d565b610a33565b6109ee565b610835565b6107a4565b61077a565b610758565b610731565b6105c5565b6104e3565b610361565b908160e091031261026a5790565b600080fd5b60005b8381106102825750506000910152565b8181015183820152602001610272565b906020916102ab8151809281855285808601910161026f565b601f01601f1916010190565b9392916102d28560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610322575050505050509060606103209294019060208091805184520151910152565b565b90919293949584806103516001938d60bf1990820301875285838c518051845201519181858201520190610292565b98019301930191949392906102fa565b3461026a5760208060031936011261026a576004356001600160401b03811161026a5761039290369060040161025c565b9061039b61185c565b506103a461185c565b5060405163c3c2247560e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316918082600481865afa9182156104b1576000926104b6575b50806004929360405193848092631804cb2760e21b82525afa80156104b15761047792600091610484575b50801561047b575b61042f611842565b9384528184015261045b6104416118a7565b9461044b816118ba565b5060406060820135910135611c5d565b9091610465611842565b928352820152604051938493846102b7565b0390f35b50600019610427565b6104a49150823d84116104aa575b61049c8183610bac565b810190611875565b3861041f565b503d610492565b611884565b600492506104d18291823d84116104aa5761049c8183610bac565b92506103f4565b600091031261026a57565b3461026a57600036600319011261026a5760045460405160089190911c6001600160a01b03168152602090f35b606090600319011261026a57600490565b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b6001600160a01b0381160361026a57565b600319810160e0811261026a5760601361026a57600491606435916001600160401b039060843582811161026a578161059a91600401610521565b9390939260a4356105aa8161054e565b9260c43591821161026a576105c191600401610521565b9091565b6105ce3661055f565b5092949192506001600160a01b039050337f00000000000000000000000000000000000000000000000000000000000000008216036107195781359161061383610796565b602061061e84611cb7565b9101358091036106e35750602883116106d1578260201161026a5761069e61066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c946106ad9388351697612241565b6001600160401b037f00000000000000000000000000000000000000000000000000000000000000009116612218565b6106a783610796565b85612253565b906106b781610796565b6040805163ffffffff9290921682526020820192909252a3005b604051630b45411560e11b8152600490fd5b826106ed81610796565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b3461026a57600036600319011261026a576040805162b9270b60e21b815260016020820152f35b3461026a57600036600319011261026a57604080516001815260026020820152f35b3461026a57600036600319011261026a57602060405160018152f35b63ffffffff81160361026a57565b3461026a57604036600319011261026a577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b6004356107e281610796565b602435906107ee611cef565b63ffffffff8116600052600160205281604060002055610826604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b8015150361026a57565b3461026a5760408060031936011261026a576004356001600160401b03811161026a5761086690369060040161025c565b906024356108738161082b565b61087b61185c565b50606083013583359361088d85610796565b6108c37f00000000000000000000000000000000000000000000000000000000000000006108be81878501356121f8565b612218565b918083106109d1575083926108df610944969361092993611d68565b906108e985610796565b6108f161185c565b506108fb85611cb7565b61091261090661184f565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b8352309060048401611e7c565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156104b157610477926000926109a2575b505191829182815181526020918201519181019190915260400190565b816109c39293503d84116109ca575b6109bb8183610bac565b810190611e68565b9038610985565b503d6109b1565b826044918651916371c4efed60e01b835260048301526024820152fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57600036600319011261026a57610a4c611cef565b60045460ff811615610a8b5760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461026a57600036600319011261026a576020604051308152f35b6024359061ffff8216820361026a57565b359061ffff8216820361026a57565b90600182811c92168015610b08575b6020831014610af257565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ae7565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610b4357604052565b610b12565b6001600160401b038111610b4357604052565b604081019081106001600160401b03821117610b4357604052565b60a081019081106001600160401b03821117610b4357604052565b602081019081106001600160401b03821117610b4357604052565b90601f801991011681019081106001600160401b03821117610b4357604052565b90604051918260008254610be081610ad8565b90818452602094600191600181169081600014610c4e5750600114610c0f575b50505061032092500383610bac565b600090815285812095935091905b818310610c365750506103209350820101388080610c00565b85548884018501529485019487945091830191610c1d565b9250505061032094925060ff191682840152151560051b820101388080610c00565b906020610c81928181520190610292565b90565b3461026a57604036600319011261026a57610477610cde610cd9600435610caa81610796565b63ffffffff610cb7610ab8565b9116600052600360205260406000209061ffff16600052602052604060002090565b610bcd565b604051918291602083526020830190610292565b3461026a57604036600319011261026a576020610d30600435610d1481610796565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b3461026a57600036600319011261026a57602060ff600454166040519015158152f35b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a57600435610dbf8161054e565b610dc7611cef565b6001600160a01b0381169081610e2b575b60048054610100600160a81b03191660089290921b610100600160a81b03169190911790556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790602090a1005b803b610dd85760405162e4e2ab60e21b8152600490fd5b3461026a57600080600319360112610e9d57610e5c611cef565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b3461026a57604036600319011261026a57610ebc600435610796565b602060405160008152f35b3461026a5760a036600319011261026a57610ee136610510565b506064356001600160401b03811161026a57610f01903690600401610521565b50506020608435610f118161054e565b6040516001600160a01b0390911630148152f35b3461026a57600036600319011261026a57610f3e611cef565b610f466121b2565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461026a57600036600319011261026a57602060405160068152f35b3461026a57600036600319011261026a576000546040516001600160a01b039091168152602090f35b3461026a57600036600319011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461026a57600036600319011261026a57602060405160008152f35b3461026a57600036600319011261026a576002546040516001600160a01b039091168152602090f35b90602060031983011261026a576004356001600160401b039283821161026a578060238301121561026a57816004013593841161026a5760248460051b8301011161026a576024019190565b3461026a5761109e36611044565b906110a7611cef565b6110b082611890565b9060406110c06040519384610bac565b8383526020938484019060051b83019236841161026a5780915b8483106110ec576110ea866120b4565b005b6001600160401b0390833582811161026a5783019160608336031261026a5785519261111784610b28565b803561112281610796565b845261112f8a8201610ac9565b8a8501528681013591821161026a57019036601f8301121561026a57889261115e8493369085813591016118df565b878201528152019201916110da565b3461026a57602036600319011261026a5763ffffffff60043561118f81610796565b1660005260016020526020604060002054604051908152f35b3461026a57606036600319011261026a576004356111c581610796565b6111cd610ab8565b604435906001600160401b03821161026a57610477926111f4610cde933690600401610521565b929091611a3f565b61120536611044565b60005b81811061127457604051638e9e709960e01b8152600081600481335afa80156104b15761071591600091611251575b50604051638351eea760e01b815291829160048301610c70565b61126e91503d806000833e6112668183610bac565b810190611bd7565b82611237565b61127f818385611ae8565b906112b16112ad61128f846118ba565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b61134c576112c3610100830183611b10565b926112d060e08201611b42565b906112df610120820182611b10565b959095303b1561026a5760009461131560c092604051998a9788968795633411683760e21b875260a08a01358a60048901611b5d565b03920135305af19182156104b157600192611333575b505b01611208565b8061134061134692610b48565b806104d8565b3861132b565b6001915061132d565b916080610320929493611395604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b608036600319011261026a576004356001600160401b03811161026a576113d190369060040161025c565b60408060231936011261026a576064356113ea8161054e565b6113f2611c35565b506113fb61185c565b506114046121b2565b61140c611c35565b5061141561185c565b506060830135916114268435610796565b6114577f00000000000000000000000000000000000000000000000000000000000000006108be81848801356121f8565b9280841061157a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b1561026a5781516374f4f54760e01b815233600482015260248101859052926000908490604490829084905af19081156104b157610477936114f292611567575b506114d98587611d68565b6114e2886118ba565b916114ec366121d0565b926123f2565b926114fb611842565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61155a6115348751936118ba565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a35192839283611355565b8061134061157492610b48565b386114ce565b839060449251916371c4efed60e01b835260048301526024820152fd5b3461026a5760006020366003190112610e9d576004356115b68161054e565b6115be611cef565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b1561162c5760249083604051958694859363ca5eb5e160e01b85521660048401525af180156104b157611620575080f35b61162990610b48565b80f35b8280fd5b6116393661055f565b50505090923033036116a957602882116106d1578160201161026a576106b76116a361169361066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c9560018060a01b0389351698612241565b61169c846118ba565b5086612253565b916118ba565b60405163029a949d60e31b8152600490fd5b3461026a57602036600319011261026a577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776060206004356116fb8161054e565b611703611cef565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b3461026a57602036600319011261026a576004356117488161054e565b611750611cef565b6001600160a01b03908116801561179e57600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57606036600319011261026a57602061181836610510565b63ffffffff813561182881610796565b166000526001825260406000205482604051920135148152f35b6040519061032082610b5b565b6040519061032082610b76565b6040519061186982610b5b565b60006020838281520152565b9081602091031261026a575190565b6040513d6000823e3d90fd5b6001600160401b038111610b435760051b60200190565b6040516118b381610b91565b6000815290565b35610c8181610796565b6001600160401b038111610b4357601f01601f191660200190565b9291926118eb826118c4565b916118f96040519384610bac565b82948184528183011161026a578281602093846000960137010152565b909291928360021161026a57831161026a57600201916001190190565b60209083610320939594956040519683611956899551809288808901910161026f565b8401918583013701600083820152038085520183610bac565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610c8193818152019161196f565b63ffffffff9093919293166000526003602052604060002060016000526020526119ce6040600020610bcd565b805115611a31578315611a2b576002841015611a02575050610715604051928392639a6d49cd60e01b845260048401611990565b909280611a2591610c8194611a20611a1b3684846118df565b61217a565b611916565b91611933565b92509050565b509190610c819136916118df565b611a709163ffffffff610cd99296949616600052600360205260406000209061ffff16600052602052604060002090565b805115611ac5578215611a2b576002831015611aac575050610715604051928392639a6d49cd60e01b845260206004850152602484019161196f565b909282610c8193611a2592611a20611a1b3684846118df565b5091610c819136916118df565b634e487b7160e01b600052603260045260246000fd5b9190811015611b0b5760051b8101359061013e198136030182121561026a570190565b611ad2565b903590601e198136030182121561026a57018035906001600160401b03821161026a5760200191813603831361026a57565b35610c818161054e565b6001600160401b0381160361026a57565b929093611bb9926001600160401b036040610c819a98999763ffffffff8135611b8581610796565b168852602081013560208901520135611b9d81611b4c565b166040860152606085015260e0608085015260e084019161196f565b6001600160a01b0390941660a082015280840360c09091015261196f565b60208183031261026a578051906001600160401b03821161026a570181601f8201121561026a578051611c09816118c4565b92611c176040519485610bac565b8184526020828401011161026a57610c81916020808501910161026f565b60405190611c4282610b28565b8160008152600060208201526040611c5861185c565b910152565b611c8c906108be7f000000000000000000000000000000000000000000000000000000000000000080926121f8565b918291808410611c995750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115611cd7575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b6000546001600160a01b03163303611d0357565b60405163118cdaa760e01b8152336004820152602490fd5b60405190611d2882610b91565b60008252565b9081602091031261026a5751610c818161082b565b9091611d5a610c8193604084526040840190610292565b916020818403910152610292565b9190611d7760a0840184611b10565b90506106d157611d89611d9c916122ce565b611d91611d1b565b906020850135612325565b5090611dc08293611dba611daf826118ba565b916080810190611b10565b916119a1565b600454909260089190911c6001600160a01b0316908382611de057505050565b60405163043a78eb60e01b815292602092849283918291611e049160048401611d43565b03915afa80156104b157611e155750565b611e369060203d602011611e39575b611e2e8183610bac565b810190611d2e565b50565b503d611e24565b919082604091031261026a57604051611e5881610b5b565b6020808294805184520151910152565b9060408282031261026a57610c8191611e40565b906020909392936040835263ffffffff81511660408401528181015160608401526080611ed0611eba604084015160a08488015260e0870190610292565b6060840151868203603f190160a0880152610292565b910151151560c08401526001600160a01b03909416910152565b8051821015611b0b5760209160051b010190565b90601f8111611f0c57505050565b6000916000526020600020906020601f850160051c83019410611f4a575b601f0160051c01915b828110611f3f57505050565b818155600101611f33565b9092508290611f2a565b91909182516001600160401b038111610b4357611f7b81611f758454610ad8565b84611efe565b602080601f8311600114611fbe57508190611faf939495600092611fb3575b50508160011b916000199060031b1c19161790565b9055565b015190503880611f9a565b90601f19831695611fd485600052602060002090565b926000905b88821061201157505083600195969710611ff8575b505050811b019055565b015160001960f88460031b161c19169055388080611fee565b80600185968294968601518155019501930190611fd9565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b858410612060575050505050505090565b9091929394959685806120a3600193603f198682030188528b518760609163ffffffff815116845261ffff86820151168685015201519181898201520190610292565b99019401940192959493919061204f565b9060009160005b81518110156121405760019061213a60406120e2816120da8588611eea565b51015161217a565b612135816120f08588611eea565b5101519163ffffffff6121038689611eea565b515116895261ffff602091600383528a209161211f878a611eea565b5101511661ffff16600052602052604060002090565b611f54565b016120bb565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506121759060405191829182612029565b0390a1565b600361ffff6002830151160361218d5750565b604051639a6d49cd60e01b815260206004820152908190610715906024830190610292565b60ff600454166121be57565b60405163d93c066560e01b8152600490fd5b604090602319011261026a57604051906121e982610b5b565b60243582526044356020830152565b8115612202570490565b634e487b7160e01b600052601260045260246000fd5b8181029291811591840414171561222b57565b634e487b7160e01b600052601160045260246000fd5b9060281161026a576020013560c01c90565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561026a576040516346154c9f60e11b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af180156104b1576122c5575090565b610c8190610b48565b6122f9907f0000000000000000000000000000000000000000000000000000000000000000906121f8565b6001600160401b039081811161230d571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612383576123809160689160405194859260208401526001600160401b0360c01b9060c01b166040830152336048830152612370815180926020868601910161026f565b8101036048810184520182610bac565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261238081610b28565b9060808282031261026a576123ea9060408051936123cd85610b28565b8051855260208101516123df81611b4c565b602086015201611e40565b604082015290565b61244f6080949261246b9694612406611c35565b50602061241386516124e3565b9501918251806124d4575b5061242885611cb7565b925115159261243861090661184f565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b845260048401611e7c565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156104b1576000916124ab575090565b610c81915060803d6080116124cd575b6124c58183610bac565b8101906123b0565b503d6124bb565b6124dd90612505565b3861241e565b8034036124ed5790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926020929091908381600481885afa9081156104b1576000916125e8575b50169283156125d65760009160405190848201926323b872dd60e01b8452336024840152604483015260648201526064815261259681610b76565b519082855af115611884576000513d6125cd5750803b155b6125b55750565b60249060405190635274afe760e01b82526004820152fd5b600114156125ae565b6040516329b99a9560e11b8152600490fd5b90508381813d8311612617575b6125ff8183610bac565b8101031261026a57516126118161054e565b3861255b565b503d6125f556fea264697066735822122024e67044bf8086c93f549847d969b62e50804c26dd8fa435981342c32ac6686464736f6c63430008160033",
1379
- "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80630d35b41514610257578063111ecdad1461025257806313137d651461024d578063156a0d0f1461024857806317442b70146102435780631f5e13341461023e5780633400288b146102395780633b6f743b146102345780633e394a8b1461022f5780633f4ba83a1461022a57806352ae2879146102255780635535d461146102205780635a0dfe4d1461021b5780635c975abb146102165780635e280f11146102115780636fc1b31e1461020c578063715018a6146102075780637d25a05e1461020257806382413eac146101fd5780638456cb59146101f8578063857749b0146101f35780638da5cb5b146101ee578063963efcaa146101e95780639f68b964146101e4578063b731ea0a146101df578063b98bd070146101da578063bb0b6a53146101d5578063bc70b354146101d0578063bd815db0146101cb578063c7c7f5b3146101c6578063ca5eb5e1146101c1578063d045a0dc146101bc578063d4243885146101b7578063f2fde38b146101b2578063fc0c546a146101ad5763ff7bd03d146101a857600080fd5b6117fc565b6117b7565b61172b565b6116bb565b611630565b611597565b6113a6565b6111fc565b6111a8565b61116d565b611090565b61101b565b610fff565b610fc4565b610f9b565b610f7f565b610f25565b610ec7565b610ea0565b610e42565b610da2565b610d5d565b610d3a565b610cf2565b610c84565b610a9d565b610a33565b6109ee565b610835565b6107a4565b61077a565b610758565b610731565b6105c5565b6104e3565b610361565b908160e091031261026a5790565b600080fd5b60005b8381106102825750506000910152565b8181015183820152602001610272565b906020916102ab8151809281855285808601910161026f565b601f01601f1916010190565b9392916102d28560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610322575050505050509060606103209294019060208091805184520151910152565b565b90919293949584806103516001938d60bf1990820301875285838c518051845201519181858201520190610292565b98019301930191949392906102fa565b3461026a5760208060031936011261026a576004356001600160401b03811161026a5761039290369060040161025c565b9061039b61185c565b506103a461185c565b5060405163c3c2247560e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316918082600481865afa9182156104b1576000926104b6575b50806004929360405193848092631804cb2760e21b82525afa80156104b15761047792600091610484575b50801561047b575b61042f611842565b9384528184015261045b6104416118a7565b9461044b816118ba565b5060406060820135910135611c5d565b9091610465611842565b928352820152604051938493846102b7565b0390f35b50600019610427565b6104a49150823d84116104aa575b61049c8183610bac565b810190611875565b3861041f565b503d610492565b611884565b600492506104d18291823d84116104aa5761049c8183610bac565b92506103f4565b600091031261026a57565b3461026a57600036600319011261026a5760045460405160089190911c6001600160a01b03168152602090f35b606090600319011261026a57600490565b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b6001600160a01b0381160361026a57565b600319810160e0811261026a5760601361026a57600491606435916001600160401b039060843582811161026a578161059a91600401610521565b9390939260a4356105aa8161054e565b9260c43591821161026a576105c191600401610521565b9091565b6105ce3661055f565b5092949192506001600160a01b039050337f00000000000000000000000000000000000000000000000000000000000000008216036107195781359161061383610796565b602061061e84611cb7565b9101358091036106e35750602883116106d1578260201161026a5761069e61066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c946106ad9388351697612241565b6001600160401b037f00000000000000000000000000000000000000000000000000000000000000009116612218565b6106a783610796565b85612253565b906106b781610796565b6040805163ffffffff9290921682526020820192909252a3005b604051630b45411560e11b8152600490fd5b826106ed81610796565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b3461026a57600036600319011261026a576040805162b9270b60e21b815260016020820152f35b3461026a57600036600319011261026a57604080516001815260026020820152f35b3461026a57600036600319011261026a57602060405160018152f35b63ffffffff81160361026a57565b3461026a57604036600319011261026a577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b6004356107e281610796565b602435906107ee611cef565b63ffffffff8116600052600160205281604060002055610826604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b8015150361026a57565b3461026a5760408060031936011261026a576004356001600160401b03811161026a5761086690369060040161025c565b906024356108738161082b565b61087b61185c565b50606083013583359361088d85610796565b6108c37f00000000000000000000000000000000000000000000000000000000000000006108be81878501356121f8565b612218565b918083106109d1575083926108df610944969361092993611d68565b906108e985610796565b6108f161185c565b506108fb85611cb7565b61091261090661184f565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b8352309060048401611e7c565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156104b157610477926000926109a2575b505191829182815181526020918201519181019190915260400190565b816109c39293503d84116109ca575b6109bb8183610bac565b810190611e68565b9038610985565b503d6109b1565b826044918651916371c4efed60e01b835260048301526024820152fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57600036600319011261026a57610a4c611cef565b60045460ff811615610a8b5760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461026a57600036600319011261026a576020604051308152f35b6024359061ffff8216820361026a57565b359061ffff8216820361026a57565b90600182811c92168015610b08575b6020831014610af257565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ae7565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610b4357604052565b610b12565b6001600160401b038111610b4357604052565b604081019081106001600160401b03821117610b4357604052565b60a081019081106001600160401b03821117610b4357604052565b602081019081106001600160401b03821117610b4357604052565b90601f801991011681019081106001600160401b03821117610b4357604052565b90604051918260008254610be081610ad8565b90818452602094600191600181169081600014610c4e5750600114610c0f575b50505061032092500383610bac565b600090815285812095935091905b818310610c365750506103209350820101388080610c00565b85548884018501529485019487945091830191610c1d565b9250505061032094925060ff191682840152151560051b820101388080610c00565b906020610c81928181520190610292565b90565b3461026a57604036600319011261026a57610477610cde610cd9600435610caa81610796565b63ffffffff610cb7610ab8565b9116600052600360205260406000209061ffff16600052602052604060002090565b610bcd565b604051918291602083526020830190610292565b3461026a57604036600319011261026a576020610d30600435610d1481610796565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b3461026a57600036600319011261026a57602060ff600454166040519015158152f35b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a57600435610dbf8161054e565b610dc7611cef565b6001600160a01b0381169081610e2b575b60048054610100600160a81b03191660089290921b610100600160a81b03169190911790556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790602090a1005b803b610dd85760405162e4e2ab60e21b8152600490fd5b3461026a57600080600319360112610e9d57610e5c611cef565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b3461026a57604036600319011261026a57610ebc600435610796565b602060405160008152f35b3461026a5760a036600319011261026a57610ee136610510565b506064356001600160401b03811161026a57610f01903690600401610521565b50506020608435610f118161054e565b6040516001600160a01b0390911630148152f35b3461026a57600036600319011261026a57610f3e611cef565b610f466121b2565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461026a57600036600319011261026a57602060405160068152f35b3461026a57600036600319011261026a576000546040516001600160a01b039091168152602090f35b3461026a57600036600319011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461026a57600036600319011261026a57602060405160008152f35b3461026a57600036600319011261026a576002546040516001600160a01b039091168152602090f35b90602060031983011261026a576004356001600160401b039283821161026a578060238301121561026a57816004013593841161026a5760248460051b8301011161026a576024019190565b3461026a5761109e36611044565b906110a7611cef565b6110b082611890565b9060406110c06040519384610bac565b8383526020938484019060051b83019236841161026a5780915b8483106110ec576110ea866120b4565b005b6001600160401b0390833582811161026a5783019160608336031261026a5785519261111784610b28565b803561112281610796565b845261112f8a8201610ac9565b8a8501528681013591821161026a57019036601f8301121561026a57889261115e8493369085813591016118df565b878201528152019201916110da565b3461026a57602036600319011261026a5763ffffffff60043561118f81610796565b1660005260016020526020604060002054604051908152f35b3461026a57606036600319011261026a576004356111c581610796565b6111cd610ab8565b604435906001600160401b03821161026a57610477926111f4610cde933690600401610521565b929091611a3f565b61120536611044565b60005b81811061127457604051638e9e709960e01b8152600081600481335afa80156104b15761071591600091611251575b50604051638351eea760e01b815291829160048301610c70565b61126e91503d806000833e6112668183610bac565b810190611bd7565b82611237565b61127f818385611ae8565b906112b16112ad61128f846118ba565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b61134c576112c3610100830183611b10565b926112d060e08201611b42565b906112df610120820182611b10565b959095303b1561026a5760009461131560c092604051998a9788968795633411683760e21b875260a08a01358a60048901611b5d565b03920135305af19182156104b157600192611333575b505b01611208565b8061134061134692610b48565b806104d8565b3861132b565b6001915061132d565b916080610320929493611395604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b608036600319011261026a576004356001600160401b03811161026a576113d190369060040161025c565b60408060231936011261026a576064356113ea8161054e565b6113f2611c35565b506113fb61185c565b506114046121b2565b61140c611c35565b5061141561185c565b506060830135916114268435610796565b6114577f00000000000000000000000000000000000000000000000000000000000000006108be81848801356121f8565b9280841061157a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b1561026a5781516374f4f54760e01b815233600482015260248101859052926000908490604490829084905af19081156104b157610477936114f292611567575b506114d98587611d68565b6114e2886118ba565b916114ec366121d0565b926123f2565b926114fb611842565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61155a6115348751936118ba565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a35192839283611355565b8061134061157492610b48565b386114ce565b839060449251916371c4efed60e01b835260048301526024820152fd5b3461026a5760006020366003190112610e9d576004356115b68161054e565b6115be611cef565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b1561162c5760249083604051958694859363ca5eb5e160e01b85521660048401525af180156104b157611620575080f35b61162990610b48565b80f35b8280fd5b6116393661055f565b50505090923033036116a957602882116106d1578160201161026a576106b76116a361169361066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c9560018060a01b0389351698612241565b61169c846118ba565b5086612253565b916118ba565b60405163029a949d60e31b8152600490fd5b3461026a57602036600319011261026a577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776060206004356116fb8161054e565b611703611cef565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b3461026a57602036600319011261026a576004356117488161054e565b611750611cef565b6001600160a01b03908116801561179e57600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57606036600319011261026a57602061181836610510565b63ffffffff813561182881610796565b166000526001825260406000205482604051920135148152f35b6040519061032082610b5b565b6040519061032082610b76565b6040519061186982610b5b565b60006020838281520152565b9081602091031261026a575190565b6040513d6000823e3d90fd5b6001600160401b038111610b435760051b60200190565b6040516118b381610b91565b6000815290565b35610c8181610796565b6001600160401b038111610b4357601f01601f191660200190565b9291926118eb826118c4565b916118f96040519384610bac565b82948184528183011161026a578281602093846000960137010152565b909291928360021161026a57831161026a57600201916001190190565b60209083610320939594956040519683611956899551809288808901910161026f565b8401918583013701600083820152038085520183610bac565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610c8193818152019161196f565b63ffffffff9093919293166000526003602052604060002060016000526020526119ce6040600020610bcd565b805115611a31578315611a2b576002841015611a02575050610715604051928392639a6d49cd60e01b845260048401611990565b909280611a2591610c8194611a20611a1b3684846118df565b61217a565b611916565b91611933565b92509050565b509190610c819136916118df565b611a709163ffffffff610cd99296949616600052600360205260406000209061ffff16600052602052604060002090565b805115611ac5578215611a2b576002831015611aac575050610715604051928392639a6d49cd60e01b845260206004850152602484019161196f565b909282610c8193611a2592611a20611a1b3684846118df565b5091610c819136916118df565b634e487b7160e01b600052603260045260246000fd5b9190811015611b0b5760051b8101359061013e198136030182121561026a570190565b611ad2565b903590601e198136030182121561026a57018035906001600160401b03821161026a5760200191813603831361026a57565b35610c818161054e565b6001600160401b0381160361026a57565b929093611bb9926001600160401b036040610c819a98999763ffffffff8135611b8581610796565b168852602081013560208901520135611b9d81611b4c565b166040860152606085015260e0608085015260e084019161196f565b6001600160a01b0390941660a082015280840360c09091015261196f565b60208183031261026a578051906001600160401b03821161026a570181601f8201121561026a578051611c09816118c4565b92611c176040519485610bac565b8184526020828401011161026a57610c81916020808501910161026f565b60405190611c4282610b28565b8160008152600060208201526040611c5861185c565b910152565b611c8c906108be7f000000000000000000000000000000000000000000000000000000000000000080926121f8565b918291808410611c995750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115611cd7575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b6000546001600160a01b03163303611d0357565b60405163118cdaa760e01b8152336004820152602490fd5b60405190611d2882610b91565b60008252565b9081602091031261026a5751610c818161082b565b9091611d5a610c8193604084526040840190610292565b916020818403910152610292565b9190611d7760a0840184611b10565b90506106d157611d89611d9c916122ce565b611d91611d1b565b906020850135612325565b5090611dc08293611dba611daf826118ba565b916080810190611b10565b916119a1565b600454909260089190911c6001600160a01b0316908382611de057505050565b60405163043a78eb60e01b815292602092849283918291611e049160048401611d43565b03915afa80156104b157611e155750565b611e369060203d602011611e39575b611e2e8183610bac565b810190611d2e565b50565b503d611e24565b919082604091031261026a57604051611e5881610b5b565b6020808294805184520151910152565b9060408282031261026a57610c8191611e40565b906020909392936040835263ffffffff81511660408401528181015160608401526080611ed0611eba604084015160a08488015260e0870190610292565b6060840151868203603f190160a0880152610292565b910151151560c08401526001600160a01b03909416910152565b8051821015611b0b5760209160051b010190565b90601f8111611f0c57505050565b6000916000526020600020906020601f850160051c83019410611f4a575b601f0160051c01915b828110611f3f57505050565b818155600101611f33565b9092508290611f2a565b91909182516001600160401b038111610b4357611f7b81611f758454610ad8565b84611efe565b602080601f8311600114611fbe57508190611faf939495600092611fb3575b50508160011b916000199060031b1c19161790565b9055565b015190503880611f9a565b90601f19831695611fd485600052602060002090565b926000905b88821061201157505083600195969710611ff8575b505050811b019055565b015160001960f88460031b161c19169055388080611fee565b80600185968294968601518155019501930190611fd9565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b858410612060575050505050505090565b9091929394959685806120a3600193603f198682030188528b518760609163ffffffff815116845261ffff86820151168685015201519181898201520190610292565b99019401940192959493919061204f565b9060009160005b81518110156121405760019061213a60406120e2816120da8588611eea565b51015161217a565b612135816120f08588611eea565b5101519163ffffffff6121038689611eea565b515116895261ffff602091600383528a209161211f878a611eea565b5101511661ffff16600052602052604060002090565b611f54565b016120bb565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506121759060405191829182612029565b0390a1565b600361ffff6002830151160361218d5750565b604051639a6d49cd60e01b815260206004820152908190610715906024830190610292565b60ff600454166121be57565b60405163d93c066560e01b8152600490fd5b604090602319011261026a57604051906121e982610b5b565b60243582526044356020830152565b8115612202570490565b634e487b7160e01b600052601260045260246000fd5b8181029291811591840414171561222b57565b634e487b7160e01b600052601160045260246000fd5b9060281161026a576020013560c01c90565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561026a576040516346154c9f60e11b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af180156104b1576122c5575090565b610c8190610b48565b6122f9907f0000000000000000000000000000000000000000000000000000000000000000906121f8565b6001600160401b039081811161230d571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612383576123809160689160405194859260208401526001600160401b0360c01b9060c01b166040830152336048830152612370815180926020868601910161026f565b8101036048810184520182610bac565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261238081610b28565b9060808282031261026a576123ea9060408051936123cd85610b28565b8051855260208101516123df81611b4c565b602086015201611e40565b604082015290565b61244f6080949261246b9694612406611c35565b50602061241386516124e3565b9501918251806124d4575b5061242885611cb7565b925115159261243861090661184f565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b845260048401611e7c565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156104b1576000916124ab575090565b610c81915060803d6080116124cd575b6124c58183610bac565b8101906123b0565b503d6124bb565b6124dd90612505565b3861241e565b8034036124ed5790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926020929091908381600481885afa9081156104b1576000916125e8575b50169283156125d65760009160405190848201926323b872dd60e01b8452336024840152604483015260648201526064815261259681610b76565b519082855af115611884576000513d6125cd5750803b155b6125b55750565b60249060405190635274afe760e01b82526004820152fd5b600114156125ae565b6040516329b99a9560e11b8152600490fd5b90508381813d8311612617575b6125ff8183610bac565b8101031261026a57516126118161054e565b3861255b565b503d6125f556fea264697066735822122024e67044bf8086c93f549847d969b62e50804c26dd8fa435981342c32ac6686464736f6c63430008160033",
1419
+ "bytecode": "0x610120604081815234620002ee57600060808362002b808038038091620000278285620002f3565b833981010312620002eb576200003d836200032d565b926200004c602082016200032d565b90620000686060620000608684016200032d565b92016200032d565b6001600160a01b03918216928315620002d35784546001600160a01b0319811685178655839190859083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a31680608052803b15620002cf57848091602488518094819363ca5eb5e160e01b83526004998a8401525af18015620002c55762000296575b50811694851562000286571691835163313ce56760e01b81526020818481875afa80156200027c57829062000234575b60ff9150166006811062000224576005190160ff8111620002115760ff1691604d8311620001fe575050600a0a60e0528060a05260c0526101009182525161283d9182620003438339608051828181610658015281816109bf01528181610e9b0152818161175d01528181612671015261271e015260a0518281816103d501528181610a7b015281816115f70152612455015260c051826119a7015260e0518281816106ef0152818161090901528181611171015281816115c001528181611e5501526124d6015251818181610ada0152818161107a01526119620152f35b634e487b7160e01b825260119052602490fd5b506011602492634e487b7160e01b835252fd5b84516301e9714b60e41b81528390fd5b506020813d60201162000273575b816200025160209383620002f3565b810103126200026f575160ff811681036200026f5760ff906200011f565b5080fd5b3d915062000242565b85513d84823e3d90fd5b845163d92e233d60e01b81528390fd5b9093906001600160401b038111620002b25785529281620000ef565b634e487b7160e01b825260418452602482fd5b86513d87823e3d90fd5b8480fd5b8551631e4fbdf760e01b815260048101869052602490fd5b80fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200031757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002ee5756fe6080604052600436101561001257600080fd5b60003560e01c80630d35b41514610277578063111ecdad1461027257806313137d651461026d578063156a0d0f1461026857806317442b70146102635780631f5e13341461025e5780633400288b146102595780633b6f743b146102545780633e394a8b1461024f5780633f4ba83a1461024a5780634e6fd6c41461024557806352ae2879146102405780635535d4611461023b5780635a0dfe4d146102365780635c975abb146102315780635e280f111461022c5780636fc1b31e14610227578063715018a6146102225780637d25a05e1461021d57806382413eac146102185780638456cb5914610213578063857749b01461020e5780638da5cb5b14610209578063963efcaa146102045780639f68b964146101ff578063b731ea0a146101fa578063b98bd070146101f5578063bb0b6a53146101f0578063bc70b354146101eb578063bd815db0146101e6578063c7c7f5b3146101e1578063ca5eb5e1146101dc578063d045a0dc146101d7578063d4243885146101d2578063f2fde38b146101cd578063f5efbb4f146101c8578063fc0c546a146101c35763ff7bd03d146101be57600080fd5b6119d6565b611991565b61194c565b6118c0565b611850565b6117c5565b61172c565b61153b565b611391565b61133d565b611302565b611225565b6111b0565b611194565b611159565b611130565b611114565b61104a565b610fec565b610fc5565b610f6a565b610eca565b610e85565b610e62565b610e1a565b610dac565b610bc5565b610ba8565b610aaa565b610a65565b6108ac565b61081b565b6107f1565b6107cf565b6107a8565b61063c565b61055a565b610381565b908160e091031261028a5790565b600080fd5b60005b8381106102a25750506000910152565b8181015183820152602001610292565b906020916102cb8151809281855285808601910161028f565b601f01601f1916010190565b9392916102f28560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610342575050505050509060606103409294019060208091805184520151910152565b565b90919293949584806103716001938d60bf1990820301875285838c5180518452015191818582015201906102b2565b980193019301919493929061031a565b3461028a5760208060031936011261028a576004356001600160401b03811161028a576103b290369060040161027c565b906103bb611a36565b506103c4611a36565b5060405163c3c2247560e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908083600481855afa92831561050757600093610530575b50604051631804cb2760e21b8152918183600481845afa9283156105075760009361050c575b5081600491604051928380926318160ddd60e01b82525afa8015610507576104cf9361047f926000926104d8575b50806104d357506000195b808218908211021890565b610487611a1c565b938452818401526104b3610499611a81565b946104a381611a94565b5060406060820135910135611e4c565b90916104bd611a1c565b928352820152604051938493846102d7565b0390f35b610474565b6104f9919250843d8611610500575b6104f18183610cd4565b810190611a4f565b9038610469565b503d6104e7565b611a5e565b60049193506105288391823d8411610500576104f18183610cd4565b93915061043b565b816105489294503d8511610500576104f18183610cd4565b9138610415565b600091031261028a57565b3461028a57600036600319011261028a5760045460405160089190911c6001600160a01b03168152602090f35b606090600319011261028a57600490565b9181601f8401121561028a578235916001600160401b03831161028a576020838186019501011161028a57565b6001600160a01b0381160361028a57565b600319810160e0811261028a5760601361028a57600491606435916001600160401b039060843582811161028a578161061191600401610598565b9390939260a435610621816105c5565b9260c43591821161028a5761063891600401610598565b9091565b610645366105d6565b5092949192506001600160a01b039050337f00000000000000000000000000000000000000000000000000000000000000008216036107905781359161068a8361080d565b602061069584611ea6565b91013580910361075a575060288311610748578260201161028a576107156106e57fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c946107249388351697612430565b6001600160401b037f00000000000000000000000000000000000000000000000000000000000000009116612407565b61071e8361080d565b85612442565b9061072e8161080d565b6040805163ffffffff9290921682526020820192909252a3005b604051630b45411560e11b8152600490fd5b826107648161080d565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b3461028a57600036600319011261028a576040805162b9270b60e21b815260016020820152f35b3461028a57600036600319011261028a57604080516001815260026020820152f35b3461028a57600036600319011261028a57602060405160018152f35b63ffffffff81160361028a57565b3461028a57604036600319011261028a577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b6004356108598161080d565b60243590610865611ede565b63ffffffff811660005260016020528160406000205561089d604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b8015150361028a57565b3461028a5760408060031936011261028a576004356001600160401b03811161028a576108dd90369060040161027c565b906024356108ea816108a2565b6108f2611a36565b5060608301358335936109048561080d565b61093a7f000000000000000000000000000000000000000000000000000000000000000061093581878501356123e7565b612407565b91808310610a48575083926109566109bb96936109a093611f57565b906109608561080d565b610968611a36565b5061097285611ea6565b61098961097d611a29565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b835230906004840161206b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610507576104cf92600092610a19575b505191829182815181526020918201519181019190915260400190565b81610a3a9293503d8411610a41575b610a328183610cd4565b810190612057565b90386109fc565b503d610a28565b826044918651916371c4efed60e01b835260048301526024820152fd5b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57600080600319360112610ba557604051630229549960e51b81526001600160a01b03906020816004817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610507578391610b76575b50163303610b655760045460ff811615610b535760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b604051638dfc202b60e01b8152600490fd5b6040516282b42960e81b8152600490fd5b610b98915060203d602011610b9e575b610b908183610cd4565b810190611a9e565b38610b0b565b503d610b86565b80fd5b3461028a57600036600319011261028a57602060405161dead8152f35b3461028a57600036600319011261028a576020604051308152f35b6024359061ffff8216820361028a57565b359061ffff8216820361028a57565b90600182811c92168015610c30575b6020831014610c1a57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610c0f565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610c6b57604052565b610c3a565b6001600160401b038111610c6b57604052565b604081019081106001600160401b03821117610c6b57604052565b60a081019081106001600160401b03821117610c6b57604052565b602081019081106001600160401b03821117610c6b57604052565b90601f801991011681019081106001600160401b03821117610c6b57604052565b90604051918260008254610d0881610c00565b90818452602094600191600181169081600014610d765750600114610d37575b50505061034092500383610cd4565b600090815285812095935091905b818310610d5e5750506103409350820101388080610d28565b85548884018501529485019487945091830191610d45565b9250505061034094925060ff191682840152151560051b820101388080610d28565b906020610da99281815201906102b2565b90565b3461028a57604036600319011261028a576104cf610e06610e01600435610dd28161080d565b63ffffffff610ddf610be0565b9116600052600360205260406000209061ffff16600052602052604060002090565b610cf5565b6040519182916020835260208301906102b2565b3461028a57604036600319011261028a576020610e58600435610e3c8161080d565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b3461028a57600036600319011261028a57602060ff600454166040519015158152f35b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57602036600319011261028a57600435610ee7816105c5565b610eef611ede565b6001600160a01b0381169081610f53575b60048054610100600160a81b03191660089290921b610100600160a81b03169190911790556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790602090a1005b803b610f005760405162e4e2ab60e21b8152600490fd5b3461028a57600080600319360112610ba557610f84611ede565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b3461028a57604036600319011261028a57610fe160043561080d565b602060405160008152f35b3461028a5760a036600319011261028a5761100636610587565b506064356001600160401b03811161028a57611026903690600401610598565b50506020608435611036816105c5565b6040516001600160a01b0390911630148152f35b3461028a57600080600319360112610ba557604051630229549960e51b81526001600160a01b03906020816004817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156105075783916110f5575b50163303610b65576110bb6123a1565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b61110e915060203d602011610b9e57610b908183610cd4565b386110ab565b3461028a57600036600319011261028a57602060405160068152f35b3461028a57600036600319011261028a576000546040516001600160a01b039091168152602090f35b3461028a57600036600319011261028a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028a57600036600319011261028a57602060405160008152f35b3461028a57600036600319011261028a576002546040516001600160a01b039091168152602090f35b90602060031983011261028a576004356001600160401b039283821161028a578060238301121561028a57816004013593841161028a5760248460051b8301011161028a576024019190565b3461028a57611233366111d9565b9061123c611ede565b61124582611a6a565b9060406112556040519384610cd4565b8383526020938484019060051b83019236841161028a5780915b8483106112815761127f866122a3565b005b6001600160401b0390833582811161028a5783019160608336031261028a578551926112ac84610c50565b80356112b78161080d565b84526112c48a8201610bf1565b8a8501528681013591821161028a57019036601f8301121561028a5788926112f3849336908581359101611ace565b8782015281520192019161126f565b3461028a57602036600319011261028a5763ffffffff6004356113248161080d565b1660005260016020526020604060002054604051908152f35b3461028a57606036600319011261028a5760043561135a8161080d565b611362610be0565b604435906001600160401b03821161028a576104cf92611389610e06933690600401610598565b929091611c2e565b61139a366111d9565b60005b81811061140957604051638e9e709960e01b8152600081600481335afa80156105075761078c916000916113e6575b50604051638351eea760e01b815291829160048301610d98565b61140391503d806000833e6113fb8183610cd4565b810190611dc6565b826113cc565b611414818385611cd7565b9061144661144261142484611a94565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b6114e157611458610100830183611cff565b9261146560e08201611d31565b90611474610120820182611cff565b959095303b1561028a576000946114aa60c092604051998a9788968795633411683760e21b875260a08a01358a60048901611d4c565b03920135305af1918215610507576001926114c8575b505b0161139d565b806114d56114db92610c70565b8061054f565b386114c0565b600191506114c2565b91608061034092949361152a604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b608036600319011261028a576004356001600160401b03811161028a5761156690369060040161027c565b60408060231936011261028a5760643561157f816105c5565b611587611e24565b50611590611a36565b506115996123a1565b6115a1611e24565b506115aa611a36565b506060830135916115bb843561080d565b6115ec7f000000000000000000000000000000000000000000000000000000000000000061093581848801356123e7565b9280841061170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b1561028a5781516374f4f54760e01b815233600482015260248101859052926000908490604490829084905af1908115610507576104cf93611687926116fc575b5061166e8587611f57565b61167788611a94565b91611681366123bf565b926125f4565b92611690611a1c565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6116ef6116c9875193611a94565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a351928392836114ea565b806114d561170992610c70565b38611663565b839060449251916371c4efed60e01b835260048301526024820152fd5b3461028a5760006020366003190112610ba55760043561174b816105c5565b611753611ede565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b156117c15760249083604051958694859363ca5eb5e160e01b85521660048401525af18015610507576117b5575080f35b6117be90610c70565b80f35b8280fd5b6117ce366105d6565b505050909230330361183e5760288211610748578160201161028a5761072e6118386118286106e57fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c9560018060a01b0389351698612430565b61183184611a94565b5086612442565b91611a94565b60405163029a949d60e31b8152600490fd5b3461028a57602036600319011261028a577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277606020600435611890816105c5565b611898611ede565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b3461028a57602036600319011261028a576004356118dd816105c5565b6118e5611ede565b6001600160a01b03908116801561193357600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57606036600319011261028a5760206119f236610587565b63ffffffff8135611a028161080d565b166000526001825260406000205482604051920135148152f35b6040519061034082610c83565b6040519061034082610c9e565b60405190611a4382610c83565b60006020838281520152565b9081602091031261028a575190565b6040513d6000823e3d90fd5b6001600160401b038111610c6b5760051b60200190565b604051611a8d81610cb9565b6000815290565b35610da98161080d565b9081602091031261028a5751610da9816105c5565b6001600160401b038111610c6b57601f01601f191660200190565b929192611ada82611ab3565b91611ae86040519384610cd4565b82948184528183011161028a578281602093846000960137010152565b909291928360021161028a57831161028a57600201916001190190565b60209083610340939594956040519683611b45899551809288808901910161028f565b8401918583013701600083820152038085520183610cd4565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610da9938181520191611b5e565b63ffffffff909391929316600052600360205260406000206001600052602052611bbd6040600020610cf5565b805115611c20578315611c1a576002841015611bf157505061078c604051928392639a6d49cd60e01b845260048401611b7f565b909280611c1491610da994611c0f611c0a368484611ace565b612369565b611b05565b91611b22565b92509050565b509190610da9913691611ace565b611c5f9163ffffffff610e019296949616600052600360205260406000209061ffff16600052602052604060002090565b805115611cb4578215611c1a576002831015611c9b57505061078c604051928392639a6d49cd60e01b8452602060048501526024840191611b5e565b909282610da993611c1492611c0f611c0a368484611ace565b5091610da9913691611ace565b634e487b7160e01b600052603260045260246000fd5b9190811015611cfa5760051b8101359061013e198136030182121561028a570190565b611cc1565b903590601e198136030182121561028a57018035906001600160401b03821161028a5760200191813603831361028a57565b35610da9816105c5565b6001600160401b0381160361028a57565b929093611da8926001600160401b036040610da99a98999763ffffffff8135611d748161080d565b168852602081013560208901520135611d8c81611d3b565b166040860152606085015260e0608085015260e0840191611b5e565b6001600160a01b0390941660a082015280840360c090910152611b5e565b60208183031261028a578051906001600160401b03821161028a570181601f8201121561028a578051611df881611ab3565b92611e066040519485610cd4565b8184526020828401011161028a57610da9916020808501910161028f565b60405190611e3182610c50565b8160008152600060208201526040611e47611a36565b910152565b611e7b906109357f000000000000000000000000000000000000000000000000000000000000000080926123e7565b918291808410611e885750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115611ec6575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b6000546001600160a01b03163303611ef257565b60405163118cdaa760e01b8152336004820152602490fd5b60405190611f1782610cb9565b60008252565b9081602091031261028a5751610da9816108a2565b9091611f49610da9936040845260408401906102b2565b9160208184039101526102b2565b9190611f6660a0840184611cff565b905061074857611f78611f8b916124d0565b611f80611f0a565b906020850135612527565b5090611faf8293611fa9611f9e82611a94565b916080810190611cff565b91611b90565b600454909260089190911c6001600160a01b0316908382611fcf57505050565b60405163043a78eb60e01b815292602092849283918291611ff39160048401611f32565b03915afa8015610507576120045750565b6120259060203d602011612028575b61201d8183610cd4565b810190611f1d565b50565b503d612013565b919082604091031261028a5760405161204781610c83565b6020808294805184520151910152565b9060408282031261028a57610da99161202f565b906020909392936040835263ffffffff815116604084015281810151606084015260806120bf6120a9604084015160a08488015260e08701906102b2565b6060840151868203603f190160a08801526102b2565b910151151560c08401526001600160a01b03909416910152565b8051821015611cfa5760209160051b010190565b90601f81116120fb57505050565b6000916000526020600020906020601f850160051c83019410612139575b601f0160051c01915b82811061212e57505050565b818155600101612122565b9092508290612119565b91909182516001600160401b038111610c6b5761216a816121648454610c00565b846120ed565b602080601f83116001146121ad5750819061219e9394956000926121a2575b50508160011b916000199060031b1c19161790565b9055565b015190503880612189565b90601f198316956121c385600052602060002090565b926000905b888210612200575050836001959697106121e7575b505050811b019055565b015160001960f88460031b161c191690553880806121dd565b806001859682949686015181550195019301906121c8565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b85841061224f575050505050505090565b909192939495968580612292600193603f198682030188528b518760609163ffffffff815116845261ffff868201511686850152015191818982015201906102b2565b99019401940192959493919061223e565b9060009160005b815181101561232f5760019061232960406122d1816122c985886120d9565b510151612369565b612324816122df85886120d9565b5101519163ffffffff6122f286896120d9565b515116895261ffff602091600383528a209161230e878a6120d9565b5101511661ffff16600052602052604060002090565b612143565b016122aa565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506123649060405191829182612218565b0390a1565b600361ffff6002830151160361237c5750565b604051639a6d49cd60e01b81526020600482015290819061078c9060248301906102b2565b60ff600454166123ad57565b60405163d93c066560e01b8152600490fd5b604090602319011261028a57604051906123d882610c83565b60243582526044356020830152565b81156123f1570490565b634e487b7160e01b600052601260045260246000fd5b8181029291811591840414171561241a57565b634e487b7160e01b600052601160045260246000fd5b9060281161028a576020013560c01c90565b6001600160a01b03818116156124c6575b7f000000000000000000000000000000000000000000000000000000000000000016803b1561028a576040516346154c9f60e11b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af18015610507576124bd575090565b610da990610c70565b61dead9150612453565b6124fb907f0000000000000000000000000000000000000000000000000000000000000000906123e7565b6001600160401b039081811161250f571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612585576125829160689160405194859260208401526001600160401b0360c01b9060c01b166040830152336048830152612572815180926020868601910161028f565b8101036048810184520182610cd4565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261258281610c50565b9060808282031261028a576125ec9060408051936125cf85610c50565b8051855260208101516125e181611d3b565b60208601520161202f565b604082015290565b6126516080949261266d9694612608611e24565b50602061261586516126e5565b9501918251806126d6575b5061262a85611ea6565b925115159261263a61097d611a29565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b84526004840161206b565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610507576000916126ad575090565b610da9915060803d6080116126cf575b6126c78183610cd4565b8101906125b2565b503d6126bd565b6126df90612707565b38612620565b8034036126ef5790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691602081600481865afa908115610507576000916127e8575b50169182156127d65760209160009160405190848201926323b872dd60e01b8452336024840152604483015260648201526064815261279681610c9e565b519082855af115611a5e576000513d6127cd5750803b155b6127b55750565b60249060405190635274afe760e01b82526004820152fd5b600114156127ae565b6040516329b99a9560e11b8152600490fd5b612801915060203d602011610b9e57610b908183610cd4565b3861275856fea26469706673582212208c20f5e3224adc54e28f288b51b7df73c3144ec3c8ad8a3e1cf4a390d3cbe69164736f6c63430008160033",
1420
+ "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80630d35b41514610277578063111ecdad1461027257806313137d651461026d578063156a0d0f1461026857806317442b70146102635780631f5e13341461025e5780633400288b146102595780633b6f743b146102545780633e394a8b1461024f5780633f4ba83a1461024a5780634e6fd6c41461024557806352ae2879146102405780635535d4611461023b5780635a0dfe4d146102365780635c975abb146102315780635e280f111461022c5780636fc1b31e14610227578063715018a6146102225780637d25a05e1461021d57806382413eac146102185780638456cb5914610213578063857749b01461020e5780638da5cb5b14610209578063963efcaa146102045780639f68b964146101ff578063b731ea0a146101fa578063b98bd070146101f5578063bb0b6a53146101f0578063bc70b354146101eb578063bd815db0146101e6578063c7c7f5b3146101e1578063ca5eb5e1146101dc578063d045a0dc146101d7578063d4243885146101d2578063f2fde38b146101cd578063f5efbb4f146101c8578063fc0c546a146101c35763ff7bd03d146101be57600080fd5b6119d6565b611991565b61194c565b6118c0565b611850565b6117c5565b61172c565b61153b565b611391565b61133d565b611302565b611225565b6111b0565b611194565b611159565b611130565b611114565b61104a565b610fec565b610fc5565b610f6a565b610eca565b610e85565b610e62565b610e1a565b610dac565b610bc5565b610ba8565b610aaa565b610a65565b6108ac565b61081b565b6107f1565b6107cf565b6107a8565b61063c565b61055a565b610381565b908160e091031261028a5790565b600080fd5b60005b8381106102a25750506000910152565b8181015183820152602001610292565b906020916102cb8151809281855285808601910161028f565b601f01601f1916010190565b9392916102f28560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610342575050505050509060606103409294019060208091805184520151910152565b565b90919293949584806103716001938d60bf1990820301875285838c5180518452015191818582015201906102b2565b980193019301919493929061031a565b3461028a5760208060031936011261028a576004356001600160401b03811161028a576103b290369060040161027c565b906103bb611a36565b506103c4611a36565b5060405163c3c2247560e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908083600481855afa92831561050757600093610530575b50604051631804cb2760e21b8152918183600481845afa9283156105075760009361050c575b5081600491604051928380926318160ddd60e01b82525afa8015610507576104cf9361047f926000926104d8575b50806104d357506000195b808218908211021890565b610487611a1c565b938452818401526104b3610499611a81565b946104a381611a94565b5060406060820135910135611e4c565b90916104bd611a1c565b928352820152604051938493846102d7565b0390f35b610474565b6104f9919250843d8611610500575b6104f18183610cd4565b810190611a4f565b9038610469565b503d6104e7565b611a5e565b60049193506105288391823d8411610500576104f18183610cd4565b93915061043b565b816105489294503d8511610500576104f18183610cd4565b9138610415565b600091031261028a57565b3461028a57600036600319011261028a5760045460405160089190911c6001600160a01b03168152602090f35b606090600319011261028a57600490565b9181601f8401121561028a578235916001600160401b03831161028a576020838186019501011161028a57565b6001600160a01b0381160361028a57565b600319810160e0811261028a5760601361028a57600491606435916001600160401b039060843582811161028a578161061191600401610598565b9390939260a435610621816105c5565b9260c43591821161028a5761063891600401610598565b9091565b610645366105d6565b5092949192506001600160a01b039050337f00000000000000000000000000000000000000000000000000000000000000008216036107905781359161068a8361080d565b602061069584611ea6565b91013580910361075a575060288311610748578260201161028a576107156106e57fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c946107249388351697612430565b6001600160401b037f00000000000000000000000000000000000000000000000000000000000000009116612407565b61071e8361080d565b85612442565b9061072e8161080d565b6040805163ffffffff9290921682526020820192909252a3005b604051630b45411560e11b8152600490fd5b826107648161080d565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b3461028a57600036600319011261028a576040805162b9270b60e21b815260016020820152f35b3461028a57600036600319011261028a57604080516001815260026020820152f35b3461028a57600036600319011261028a57602060405160018152f35b63ffffffff81160361028a57565b3461028a57604036600319011261028a577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b6004356108598161080d565b60243590610865611ede565b63ffffffff811660005260016020528160406000205561089d604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b8015150361028a57565b3461028a5760408060031936011261028a576004356001600160401b03811161028a576108dd90369060040161027c565b906024356108ea816108a2565b6108f2611a36565b5060608301358335936109048561080d565b61093a7f000000000000000000000000000000000000000000000000000000000000000061093581878501356123e7565b612407565b91808310610a48575083926109566109bb96936109a093611f57565b906109608561080d565b610968611a36565b5061097285611ea6565b61098961097d611a29565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b835230906004840161206b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610507576104cf92600092610a19575b505191829182815181526020918201519181019190915260400190565b81610a3a9293503d8411610a41575b610a328183610cd4565b810190612057565b90386109fc565b503d610a28565b826044918651916371c4efed60e01b835260048301526024820152fd5b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57600080600319360112610ba557604051630229549960e51b81526001600160a01b03906020816004817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610507578391610b76575b50163303610b655760045460ff811615610b535760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b604051638dfc202b60e01b8152600490fd5b6040516282b42960e81b8152600490fd5b610b98915060203d602011610b9e575b610b908183610cd4565b810190611a9e565b38610b0b565b503d610b86565b80fd5b3461028a57600036600319011261028a57602060405161dead8152f35b3461028a57600036600319011261028a576020604051308152f35b6024359061ffff8216820361028a57565b359061ffff8216820361028a57565b90600182811c92168015610c30575b6020831014610c1a57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610c0f565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610c6b57604052565b610c3a565b6001600160401b038111610c6b57604052565b604081019081106001600160401b03821117610c6b57604052565b60a081019081106001600160401b03821117610c6b57604052565b602081019081106001600160401b03821117610c6b57604052565b90601f801991011681019081106001600160401b03821117610c6b57604052565b90604051918260008254610d0881610c00565b90818452602094600191600181169081600014610d765750600114610d37575b50505061034092500383610cd4565b600090815285812095935091905b818310610d5e5750506103409350820101388080610d28565b85548884018501529485019487945091830191610d45565b9250505061034094925060ff191682840152151560051b820101388080610d28565b906020610da99281815201906102b2565b90565b3461028a57604036600319011261028a576104cf610e06610e01600435610dd28161080d565b63ffffffff610ddf610be0565b9116600052600360205260406000209061ffff16600052602052604060002090565b610cf5565b6040519182916020835260208301906102b2565b3461028a57604036600319011261028a576020610e58600435610e3c8161080d565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b3461028a57600036600319011261028a57602060ff600454166040519015158152f35b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57602036600319011261028a57600435610ee7816105c5565b610eef611ede565b6001600160a01b0381169081610f53575b60048054610100600160a81b03191660089290921b610100600160a81b03169190911790556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790602090a1005b803b610f005760405162e4e2ab60e21b8152600490fd5b3461028a57600080600319360112610ba557610f84611ede565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b3461028a57604036600319011261028a57610fe160043561080d565b602060405160008152f35b3461028a5760a036600319011261028a5761100636610587565b506064356001600160401b03811161028a57611026903690600401610598565b50506020608435611036816105c5565b6040516001600160a01b0390911630148152f35b3461028a57600080600319360112610ba557604051630229549960e51b81526001600160a01b03906020816004817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156105075783916110f5575b50163303610b65576110bb6123a1565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b61110e915060203d602011610b9e57610b908183610cd4565b386110ab565b3461028a57600036600319011261028a57602060405160068152f35b3461028a57600036600319011261028a576000546040516001600160a01b039091168152602090f35b3461028a57600036600319011261028a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028a57600036600319011261028a57602060405160008152f35b3461028a57600036600319011261028a576002546040516001600160a01b039091168152602090f35b90602060031983011261028a576004356001600160401b039283821161028a578060238301121561028a57816004013593841161028a5760248460051b8301011161028a576024019190565b3461028a57611233366111d9565b9061123c611ede565b61124582611a6a565b9060406112556040519384610cd4565b8383526020938484019060051b83019236841161028a5780915b8483106112815761127f866122a3565b005b6001600160401b0390833582811161028a5783019160608336031261028a578551926112ac84610c50565b80356112b78161080d565b84526112c48a8201610bf1565b8a8501528681013591821161028a57019036601f8301121561028a5788926112f3849336908581359101611ace565b8782015281520192019161126f565b3461028a57602036600319011261028a5763ffffffff6004356113248161080d565b1660005260016020526020604060002054604051908152f35b3461028a57606036600319011261028a5760043561135a8161080d565b611362610be0565b604435906001600160401b03821161028a576104cf92611389610e06933690600401610598565b929091611c2e565b61139a366111d9565b60005b81811061140957604051638e9e709960e01b8152600081600481335afa80156105075761078c916000916113e6575b50604051638351eea760e01b815291829160048301610d98565b61140391503d806000833e6113fb8183610cd4565b810190611dc6565b826113cc565b611414818385611cd7565b9061144661144261142484611a94565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b6114e157611458610100830183611cff565b9261146560e08201611d31565b90611474610120820182611cff565b959095303b1561028a576000946114aa60c092604051998a9788968795633411683760e21b875260a08a01358a60048901611d4c565b03920135305af1918215610507576001926114c8575b505b0161139d565b806114d56114db92610c70565b8061054f565b386114c0565b600191506114c2565b91608061034092949361152a604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b608036600319011261028a576004356001600160401b03811161028a5761156690369060040161027c565b60408060231936011261028a5760643561157f816105c5565b611587611e24565b50611590611a36565b506115996123a1565b6115a1611e24565b506115aa611a36565b506060830135916115bb843561080d565b6115ec7f000000000000000000000000000000000000000000000000000000000000000061093581848801356123e7565b9280841061170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b1561028a5781516374f4f54760e01b815233600482015260248101859052926000908490604490829084905af1908115610507576104cf93611687926116fc575b5061166e8587611f57565b61167788611a94565b91611681366123bf565b926125f4565b92611690611a1c565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6116ef6116c9875193611a94565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a351928392836114ea565b806114d561170992610c70565b38611663565b839060449251916371c4efed60e01b835260048301526024820152fd5b3461028a5760006020366003190112610ba55760043561174b816105c5565b611753611ede565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b156117c15760249083604051958694859363ca5eb5e160e01b85521660048401525af18015610507576117b5575080f35b6117be90610c70565b80f35b8280fd5b6117ce366105d6565b505050909230330361183e5760288211610748578160201161028a5761072e6118386118286106e57fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c9560018060a01b0389351698612430565b61183184611a94565b5086612442565b91611a94565b60405163029a949d60e31b8152600490fd5b3461028a57602036600319011261028a577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277606020600435611890816105c5565b611898611ede565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b3461028a57602036600319011261028a576004356118dd816105c5565b6118e5611ede565b6001600160a01b03908116801561193357600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57600036600319011261028a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461028a57606036600319011261028a5760206119f236610587565b63ffffffff8135611a028161080d565b166000526001825260406000205482604051920135148152f35b6040519061034082610c83565b6040519061034082610c9e565b60405190611a4382610c83565b60006020838281520152565b9081602091031261028a575190565b6040513d6000823e3d90fd5b6001600160401b038111610c6b5760051b60200190565b604051611a8d81610cb9565b6000815290565b35610da98161080d565b9081602091031261028a5751610da9816105c5565b6001600160401b038111610c6b57601f01601f191660200190565b929192611ada82611ab3565b91611ae86040519384610cd4565b82948184528183011161028a578281602093846000960137010152565b909291928360021161028a57831161028a57600201916001190190565b60209083610340939594956040519683611b45899551809288808901910161028f565b8401918583013701600083820152038085520183610cd4565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610da9938181520191611b5e565b63ffffffff909391929316600052600360205260406000206001600052602052611bbd6040600020610cf5565b805115611c20578315611c1a576002841015611bf157505061078c604051928392639a6d49cd60e01b845260048401611b7f565b909280611c1491610da994611c0f611c0a368484611ace565b612369565b611b05565b91611b22565b92509050565b509190610da9913691611ace565b611c5f9163ffffffff610e019296949616600052600360205260406000209061ffff16600052602052604060002090565b805115611cb4578215611c1a576002831015611c9b57505061078c604051928392639a6d49cd60e01b8452602060048501526024840191611b5e565b909282610da993611c1492611c0f611c0a368484611ace565b5091610da9913691611ace565b634e487b7160e01b600052603260045260246000fd5b9190811015611cfa5760051b8101359061013e198136030182121561028a570190565b611cc1565b903590601e198136030182121561028a57018035906001600160401b03821161028a5760200191813603831361028a57565b35610da9816105c5565b6001600160401b0381160361028a57565b929093611da8926001600160401b036040610da99a98999763ffffffff8135611d748161080d565b168852602081013560208901520135611d8c81611d3b565b166040860152606085015260e0608085015260e0840191611b5e565b6001600160a01b0390941660a082015280840360c090910152611b5e565b60208183031261028a578051906001600160401b03821161028a570181601f8201121561028a578051611df881611ab3565b92611e066040519485610cd4565b8184526020828401011161028a57610da9916020808501910161028f565b60405190611e3182610c50565b8160008152600060208201526040611e47611a36565b910152565b611e7b906109357f000000000000000000000000000000000000000000000000000000000000000080926123e7565b918291808410611e885750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115611ec6575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b6000546001600160a01b03163303611ef257565b60405163118cdaa760e01b8152336004820152602490fd5b60405190611f1782610cb9565b60008252565b9081602091031261028a5751610da9816108a2565b9091611f49610da9936040845260408401906102b2565b9160208184039101526102b2565b9190611f6660a0840184611cff565b905061074857611f78611f8b916124d0565b611f80611f0a565b906020850135612527565b5090611faf8293611fa9611f9e82611a94565b916080810190611cff565b91611b90565b600454909260089190911c6001600160a01b0316908382611fcf57505050565b60405163043a78eb60e01b815292602092849283918291611ff39160048401611f32565b03915afa8015610507576120045750565b6120259060203d602011612028575b61201d8183610cd4565b810190611f1d565b50565b503d612013565b919082604091031261028a5760405161204781610c83565b6020808294805184520151910152565b9060408282031261028a57610da99161202f565b906020909392936040835263ffffffff815116604084015281810151606084015260806120bf6120a9604084015160a08488015260e08701906102b2565b6060840151868203603f190160a08801526102b2565b910151151560c08401526001600160a01b03909416910152565b8051821015611cfa5760209160051b010190565b90601f81116120fb57505050565b6000916000526020600020906020601f850160051c83019410612139575b601f0160051c01915b82811061212e57505050565b818155600101612122565b9092508290612119565b91909182516001600160401b038111610c6b5761216a816121648454610c00565b846120ed565b602080601f83116001146121ad5750819061219e9394956000926121a2575b50508160011b916000199060031b1c19161790565b9055565b015190503880612189565b90601f198316956121c385600052602060002090565b926000905b888210612200575050836001959697106121e7575b505050811b019055565b015160001960f88460031b161c191690553880806121dd565b806001859682949686015181550195019301906121c8565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b85841061224f575050505050505090565b909192939495968580612292600193603f198682030188528b518760609163ffffffff815116845261ffff868201511686850152015191818982015201906102b2565b99019401940192959493919061223e565b9060009160005b815181101561232f5760019061232960406122d1816122c985886120d9565b510151612369565b612324816122df85886120d9565b5101519163ffffffff6122f286896120d9565b515116895261ffff602091600383528a209161230e878a6120d9565b5101511661ffff16600052602052604060002090565b612143565b016122aa565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506123649060405191829182612218565b0390a1565b600361ffff6002830151160361237c5750565b604051639a6d49cd60e01b81526020600482015290819061078c9060248301906102b2565b60ff600454166123ad57565b60405163d93c066560e01b8152600490fd5b604090602319011261028a57604051906123d882610c83565b60243582526044356020830152565b81156123f1570490565b634e487b7160e01b600052601260045260246000fd5b8181029291811591840414171561241a57565b634e487b7160e01b600052601160045260246000fd5b9060281161028a576020013560c01c90565b6001600160a01b03818116156124c6575b7f000000000000000000000000000000000000000000000000000000000000000016803b1561028a576040516346154c9f60e11b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af18015610507576124bd575090565b610da990610c70565b61dead9150612453565b6124fb907f0000000000000000000000000000000000000000000000000000000000000000906123e7565b6001600160401b039081811161250f571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612585576125829160689160405194859260208401526001600160401b0360c01b9060c01b166040830152336048830152612572815180926020868601910161028f565b8101036048810184520182610cd4565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261258281610c50565b9060808282031261028a576125ec9060408051936125cf85610c50565b8051855260208101516125e181611d3b565b60208601520161202f565b604082015290565b6126516080949261266d9694612608611e24565b50602061261586516126e5565b9501918251806126d6575b5061262a85611ea6565b925115159261263a61097d611a29565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b84526004840161206b565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610507576000916126ad575090565b610da9915060803d6080116126cf575b6126c78183610cd4565b8101906125b2565b503d6126bd565b6126df90612707565b38612620565b8034036126ef5790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691602081600481865afa908115610507576000916127e8575b50169182156127d65760209160009160405190848201926323b872dd60e01b8452336024840152604483015260648201526064815261279681610c9e565b519082855af115611a5e576000513d6127cd5750803b155b6127b55750565b60249060405190635274afe760e01b82526004820152fd5b600114156127ae565b6040516329b99a9560e11b8152600490fd5b612801915060203d602011610b9e57610b908183610cd4565b3861275856fea26469706673582212208c20f5e3224adc54e28f288b51b7df73c3144ec3c8ad8a3e1cf4a390d3cbe69164736f6c63430008160033",
1380
1421
  "linkReferences": {},
1381
1422
  "deployedLinkReferences": {}
1382
1423
  }
@@ -441,6 +441,11 @@ export declare const GetAccountHistoryTypeEnum: {
441
441
  readonly RedeemRequestProcessed: "RedeemRequestProcessed";
442
442
  readonly RedeemRequestSkipped: "RedeemRequestSkipped";
443
443
  readonly RedeemRequestCancelled: "RedeemRequestCancelled";
444
+ readonly InstantWithdraw: "InstantWithdraw";
445
+ readonly InstantWithdrawViaSwap: "InstantWithdrawViaSwap";
446
+ readonly InstantWithdrawSwapHoldbackRelease: "InstantWithdrawSwapHoldbackRelease";
447
+ readonly HoldbackClaimed: "HoldbackClaimed";
448
+ readonly WithdrawalClaimed: "WithdrawalClaimed";
444
449
  };
445
450
  export type GetAccountHistoryTypeEnum = (typeof GetAccountHistoryTypeEnum)[keyof typeof GetAccountHistoryTypeEnum];
446
451
  /**
@@ -835,7 +835,12 @@ export const GetAccountHistoryTypeEnum = {
835
835
  RedeemRequest: "RedeemRequest",
836
836
  RedeemRequestProcessed: "RedeemRequestProcessed",
837
837
  RedeemRequestSkipped: "RedeemRequestSkipped",
838
- RedeemRequestCancelled: "RedeemRequestCancelled"
838
+ RedeemRequestCancelled: "RedeemRequestCancelled",
839
+ InstantWithdraw: "InstantWithdraw",
840
+ InstantWithdrawViaSwap: "InstantWithdrawViaSwap",
841
+ InstantWithdrawSwapHoldbackRelease: "InstantWithdrawSwapHoldbackRelease",
842
+ HoldbackClaimed: "HoldbackClaimed",
843
+ WithdrawalClaimed: "WithdrawalClaimed"
839
844
  };
840
845
  /**
841
846
  * @export
@@ -169,10 +169,11 @@ export declare const VaultsApiAxiosParamCreator: (configuration?: Configuration)
169
169
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
170
170
  * @param {string} [chain] The identifier of the chain
171
171
  * @param {boolean} [includeHidden] Whether to include hidden vaults
172
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
172
173
  * @param {*} [options] Override http request option.
173
174
  * @throws {RequiredError}
174
175
  */
175
- getVaults: (vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
176
+ getVaults: (vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, vaultType?: GetVaultsVaultTypeEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
176
177
  /**
177
178
  *
178
179
  * @summary Get protocol info to initialize sdk
@@ -325,10 +326,11 @@ export declare const VaultsApiFp: (configuration?: Configuration) => {
325
326
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
326
327
  * @param {string} [chain] The identifier of the chain
327
328
  * @param {boolean} [includeHidden] Whether to include hidden vaults
329
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
328
330
  * @param {*} [options] Override http request option.
329
331
  * @throws {RequiredError}
330
332
  */
331
- getVaults(vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<VaultDetail>>>;
333
+ getVaults(vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, vaultType?: GetVaultsVaultTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<VaultDetail>>>;
332
334
  /**
333
335
  *
334
336
  * @summary Get protocol info to initialize sdk
@@ -481,10 +483,11 @@ export declare const VaultsApiFactory: (configuration?: Configuration, basePath?
481
483
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
482
484
  * @param {string} [chain] The identifier of the chain
483
485
  * @param {boolean} [includeHidden] Whether to include hidden vaults
486
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
484
487
  * @param {*} [options] Override http request option.
485
488
  * @throws {RequiredError}
486
489
  */
487
- getVaults(vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<Array<VaultDetail>>;
490
+ getVaults(vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, vaultType?: GetVaultsVaultTypeEnum, options?: RawAxiosRequestConfig): AxiosPromise<Array<VaultDetail>>;
488
491
  /**
489
492
  *
490
493
  * @summary Get protocol info to initialize sdk
@@ -653,11 +656,12 @@ export declare class VaultsApi extends BaseAPI {
653
656
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
654
657
  * @param {string} [chain] The identifier of the chain
655
658
  * @param {boolean} [includeHidden] Whether to include hidden vaults
659
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
656
660
  * @param {*} [options] Override http request option.
657
661
  * @throws {RequiredError}
658
662
  * @memberof VaultsApi
659
663
  */
660
- getVaults(vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<VaultDetail[], any, {}>>;
664
+ getVaults(vaultId?: string, receiptCoinSymbol?: string, chain?: string, includeHidden?: boolean, vaultType?: GetVaultsVaultTypeEnum, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<VaultDetail[], any, {}>>;
661
665
  /**
662
666
  *
663
667
  * @summary Get protocol info to initialize sdk
@@ -675,3 +679,11 @@ export declare class VaultsApi extends BaseAPI {
675
679
  */
676
680
  getVaultsStats(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<VaultsStats, any, {}>>;
677
681
  }
682
+ /**
683
+ * @export
684
+ */
685
+ export declare const GetVaultsVaultTypeEnum: {
686
+ readonly Tokenized: "TOKENIZED";
687
+ readonly Atomic: "ATOMIC";
688
+ };
689
+ export type GetVaultsVaultTypeEnum = (typeof GetVaultsVaultTypeEnum)[keyof typeof GetVaultsVaultTypeEnum];
@@ -545,10 +545,11 @@ export const VaultsApiAxiosParamCreator = function (configuration) {
545
545
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
546
546
  * @param {string} [chain] The identifier of the chain
547
547
  * @param {boolean} [includeHidden] Whether to include hidden vaults
548
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
548
549
  * @param {*} [options] Override http request option.
549
550
  * @throws {RequiredError}
550
551
  */
551
- getVaults: async (vaultId, receiptCoinSymbol, chain, includeHidden, options = {}) => {
552
+ getVaults: async (vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options = {}) => {
552
553
  const localVarPath = `/api/v2/vaults`;
553
554
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
554
555
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -571,6 +572,9 @@ export const VaultsApiAxiosParamCreator = function (configuration) {
571
572
  if (includeHidden !== undefined) {
572
573
  localVarQueryParameter["includeHidden"] = includeHidden;
573
574
  }
575
+ if (vaultType !== undefined) {
576
+ localVarQueryParameter["vaultType"] = vaultType;
577
+ }
574
578
  setSearchParams(localVarUrlObj, localVarQueryParameter);
575
579
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
576
580
  localVarRequestOptions.headers = {
@@ -854,11 +858,12 @@ export const VaultsApiFp = function (configuration) {
854
858
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
855
859
  * @param {string} [chain] The identifier of the chain
856
860
  * @param {boolean} [includeHidden] Whether to include hidden vaults
861
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
857
862
  * @param {*} [options] Override http request option.
858
863
  * @throws {RequiredError}
859
864
  */
860
- async getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, options) {
861
- const localVarAxiosArgs = await localVarAxiosParamCreator.getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, options);
865
+ async getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options) {
866
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options);
862
867
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
863
868
  const localVarOperationServerBasePath = operationServerMap["VaultsApi.getVaults"]?.[localVarOperationServerIndex]
864
869
  ?.url;
@@ -1085,12 +1090,13 @@ export const VaultsApiFactory = function (configuration, basePath, axios) {
1085
1090
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
1086
1091
  * @param {string} [chain] The identifier of the chain
1087
1092
  * @param {boolean} [includeHidden] Whether to include hidden vaults
1093
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
1088
1094
  * @param {*} [options] Override http request option.
1089
1095
  * @throws {RequiredError}
1090
1096
  */
1091
- getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, options) {
1097
+ getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options) {
1092
1098
  return localVarFp
1093
- .getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, options)
1099
+ .getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options)
1094
1100
  .then(request => request(axios, basePath));
1095
1101
  },
1096
1102
  /**
@@ -1326,13 +1332,14 @@ export class VaultsApi extends BaseAPI {
1326
1332
  * @param {string} [receiptCoinSymbol] The receipt coin symbol of the vault
1327
1333
  * @param {string} [chain] The identifier of the chain
1328
1334
  * @param {boolean} [includeHidden] Whether to include hidden vaults
1335
+ * @param {GetVaultsVaultTypeEnum} [vaultType] Filter vaults by flavor. When omitted, all vaults are returned (tokenized + atomic). Pass ATOMIC to return only atomic (atomic-liquidity) vaults, or TOKENIZED for only tokenized vaults.
1329
1336
  * @param {*} [options] Override http request option.
1330
1337
  * @throws {RequiredError}
1331
1338
  * @memberof VaultsApi
1332
1339
  */
1333
- getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, options) {
1340
+ getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options) {
1334
1341
  return VaultsApiFp(this.configuration)
1335
- .getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, options)
1342
+ .getVaults(vaultId, receiptCoinSymbol, chain, includeHidden, vaultType, options)
1336
1343
  .then(request => request(this.axios, this.basePath));
1337
1344
  }
1338
1345
  /**
@@ -1360,3 +1367,10 @@ export class VaultsApi extends BaseAPI {
1360
1367
  .then(request => request(this.axios, this.basePath));
1361
1368
  }
1362
1369
  }
1370
+ /**
1371
+ * @export
1372
+ */
1373
+ export const GetVaultsVaultTypeEnum = {
1374
+ Tokenized: "TOKENIZED",
1375
+ Atomic: "ATOMIC"
1376
+ };
@@ -10,6 +10,10 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DepositTransaction } from "./deposit-transaction.js";
13
+ import type { EscrowClaimTransaction } from "./escrow-claim-transaction.js";
14
+ import type { HoldbackReleaseTransaction } from "./holdback-release-transaction.js";
15
+ import type { InstantWithdrawTransaction } from "./instant-withdraw-transaction.js";
16
+ import type { InstantWithdrawViaSwapTransaction } from "./instant-withdraw-via-swap-transaction.js";
13
17
  import type { ParkingLotDepositTransaction } from "./parking-lot-deposit-transaction.js";
14
18
  import type { RedeemRequestCancelledTransaction } from "./redeem-request-cancelled-transaction.js";
15
19
  import type { RedeemRequestProcessedTransaction } from "./redeem-request-processed-transaction.js";
@@ -20,4 +24,4 @@ import type { RedeemRequestTransaction } from "./redeem-request-transaction.js";
20
24
  * The data of the transaction
21
25
  * @export
22
26
  */
23
- export type AccountTransactionTransactionData = DepositTransaction | ParkingLotDepositTransaction | RedeemRequestCancelledTransaction | RedeemRequestProcessedTransaction | RedeemRequestSkippedTransaction | RedeemRequestTransaction;
27
+ export type AccountTransactionTransactionData = DepositTransaction | EscrowClaimTransaction | HoldbackReleaseTransaction | InstantWithdrawTransaction | InstantWithdrawViaSwapTransaction | ParkingLotDepositTransaction | RedeemRequestCancelledTransaction | RedeemRequestProcessedTransaction | RedeemRequestSkippedTransaction | RedeemRequestTransaction;
@@ -46,5 +46,10 @@ export declare const AccountTransactionTransactionTypeEnum: {
46
46
  readonly RedeemRequestProcessed: "RedeemRequestProcessed";
47
47
  readonly RedeemRequestSkipped: "RedeemRequestSkipped";
48
48
  readonly RedeemRequestCancelled: "RedeemRequestCancelled";
49
+ readonly InstantWithdraw: "InstantWithdraw";
50
+ readonly InstantWithdrawViaSwap: "InstantWithdrawViaSwap";
51
+ readonly InstantWithdrawSwapHoldbackRelease: "InstantWithdrawSwapHoldbackRelease";
52
+ readonly HoldbackClaimed: "HoldbackClaimed";
53
+ readonly WithdrawalClaimed: "WithdrawalClaimed";
49
54
  };
50
55
  export type AccountTransactionTransactionTypeEnum = (typeof AccountTransactionTransactionTypeEnum)[keyof typeof AccountTransactionTransactionTypeEnum];
@@ -21,5 +21,10 @@ export const AccountTransactionTransactionTypeEnum = {
21
21
  RedeemRequest: "RedeemRequest",
22
22
  RedeemRequestProcessed: "RedeemRequestProcessed",
23
23
  RedeemRequestSkipped: "RedeemRequestSkipped",
24
- RedeemRequestCancelled: "RedeemRequestCancelled"
24
+ RedeemRequestCancelled: "RedeemRequestCancelled",
25
+ InstantWithdraw: "InstantWithdraw",
26
+ InstantWithdrawViaSwap: "InstantWithdrawViaSwap",
27
+ InstantWithdrawSwapHoldbackRelease: "InstantWithdrawSwapHoldbackRelease",
28
+ HoldbackClaimed: "HoldbackClaimed",
29
+ WithdrawalClaimed: "WithdrawalClaimed"
25
30
  };
@@ -10,7 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { Asset } from "./asset.js";
13
+ import type { InstantWithdrawConfig } from "./instant-withdraw-config.js";
13
14
  import type { SubAccount } from "./sub-account.js";
15
+ import type { SupportedEmberVault } from "./supported-ember-vault.js";
14
16
  import type { VaultParkingLotInfo } from "./vault-parking-lot-info.js";
15
17
  /**
16
18
  *
@@ -42,6 +44,18 @@ export interface ChainVaultDetails {
42
44
  * @memberof ChainVaultDetails
43
45
  */
44
46
  baseDepositCoin: Asset;
47
+ /**
48
+ * For EMBER/source vaults that an atomic facility supports: the instant-withdraw (swap-with-holdback) terms offered for this vault\'s shares, one entry per atomic facility. Omitted for vaults with no instant-withdraw offering (incl. atomic vaults themselves).
49
+ * @type {Array<InstantWithdrawConfig>}
50
+ * @memberof ChainVaultDetails
51
+ */
52
+ instantWithdrawConfig?: Array<InstantWithdrawConfig>;
53
+ /**
54
+ * For ATOMIC vaults: the ember/source vaults this facility supports for instant withdrawal (minimal refs; the terms live on each ember vault\'s instantWithdrawConfig). Omitted for non-atomic vaults.
55
+ * @type {Array<SupportedEmberVault>}
56
+ * @memberof ChainVaultDetails
57
+ */
58
+ supportedEmberVaults?: Array<SupportedEmberVault>;
45
59
  /**
46
60
  *
47
61
  * @type {Asset}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { Asset } from "./asset.js";
13
+ import type { VaultSlice } from "./vault-slice.js";
14
+ /**
15
+ * Escrow-claim delivery of deferred collateral (HoldbackClaimed / WithdrawalClaimed). No shares move; amount is the delivered collateral.
16
+ * @export
17
+ * @interface EscrowClaimTransaction
18
+ */
19
+ export interface EscrowClaimTransaction {
20
+ /**
21
+ * The timestamp of the event
22
+ * @type {number}
23
+ * @memberof EscrowClaimTransaction
24
+ */
25
+ timestamp?: number;
26
+ /**
27
+ * The collateral amount delivered
28
+ * @type {string}
29
+ * @memberof EscrowClaimTransaction
30
+ */
31
+ amount?: string;
32
+ /**
33
+ *
34
+ * @type {Asset}
35
+ * @memberof EscrowClaimTransaction
36
+ */
37
+ coin?: Asset;
38
+ /**
39
+ *
40
+ * @type {VaultSlice}
41
+ * @memberof EscrowClaimTransaction
42
+ */
43
+ vault?: VaultSlice;
44
+ /**
45
+ * The tx digest of the transaction
46
+ * @type {string}
47
+ * @memberof EscrowClaimTransaction
48
+ */
49
+ txDigest?: string;
50
+ /**
51
+ * The sequence number of the transaction
52
+ * @type {string}
53
+ * @memberof EscrowClaimTransaction
54
+ */
55
+ sequenceNumber?: string;
56
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * The one-per-network AtomicLiquidityLib external library linked into AtomicLiquidity proxies
14
+ * @export
15
+ * @interface EvmAtomicLiquidityLib
16
+ */
17
+ export interface EvmAtomicLiquidityLib {
18
+ /**
19
+ * The deployed library address
20
+ * @type {string}
21
+ * @memberof EvmAtomicLiquidityLib
22
+ */
23
+ address?: string;
24
+ /**
25
+ * The address that deployed the library
26
+ * @type {string}
27
+ * @memberof EvmAtomicLiquidityLib
28
+ */
29
+ deployerAddress?: string;
30
+ /**
31
+ * The deployment timestamp
32
+ * @type {string}
33
+ * @memberof EvmAtomicLiquidityLib
34
+ */
35
+ deployedAt?: string;
36
+ /**
37
+ * The block number at which the library was deployed
38
+ * @type {number}
39
+ * @memberof EvmAtomicLiquidityLib
40
+ */
41
+ deploymentBlockNumber?: number;
42
+ /**
43
+ * The deployed bytecode size in bytes
44
+ * @type {number}
45
+ * @memberof EvmAtomicLiquidityLib
46
+ */
47
+ bytecodeSize?: number;
48
+ }