diff --git a/package.json b/package.json index fd871f63..3a621db0 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ ], "type": "module", "dependencies": { - "@sentio/sdk": "^2.28.4-rc.1", + "@sentio/sdk": "^2.29.0-rc.2", "node-fetch": "^3.3.1" }, "resolutions": { diff --git a/projects/bridgetoken/src/processor.ts b/projects/bridgetoken/src/processor.ts index 20a6baae..5ebe2605 100644 --- a/projects/bridgetoken/src/processor.ts +++ b/projects/bridgetoken/src/processor.ts @@ -1,8 +1,11 @@ -import { SimpleCoinInfo, whitelistCoins } from "@sentio/sdk/aptos/ext"; -import {CHAIN_IDS} from "@sentio/sdk"; +import { whitelistCoins } from "@sentio/sdk/aptos/ext"; +import { AptosNetwork } from "@sentio/sdk/aptos"; import {account, coin, type_info} from "@sentio/sdk/aptos/builtin/0x1"; import {getPriceByType} from "@sentio/sdk/utils"; import {defaultMoveCoder, getAptosClient} from "@sentio/sdk/aptos"; +import { SimpleCoinInfo } from "@sentio/sdk/move/ext"; +import { MoveStructId, EntryFunctionPayloadResponse } from "@aptos-labs/ts-sdk" +import { scaleDown } from "@sentio/sdk"; const BRIDGE_TOKENS = new Map() const PRICES = new Map() @@ -16,7 +19,7 @@ for (const token of whitelistCoins().values()) { BRIDGE_TOKENS.set(token.token_type.type, token) - getPriceByType(CHAIN_IDS.APTOS_MAINNET, token.token_type.type, date).then((price) => { + getPriceByType(AptosNetwork.MAIN_NET, token.token_type.type, date).then((price) => { price = price || 0 PRICES.set(token.token_type.type, price) console.log("price", token.token_type.type, price) @@ -25,39 +28,39 @@ for (const token of whitelistCoins().values()) { const client = getAptosClient()! -// coin.bind().onEventDepositEvent(async (evt, ctx) => { -// const payload = ctx.transaction.payload as TransactionPayload_EntryFunctionPayload -// const token = BRIDGE_TOKENS.get(payload.type_arguments[0]) -// if (!token) { -// return -// } -// -// const amount = scaleDown(evt.data_decoded.amount, token.decimals) -// const value = amount.multipliedBy(PRICES.get(token.token_type.type)!) -// -// // const value = await calculateValueInUsd(evt.data_decoded.amount, token, priceTimestamp) -// if (!value.isGreaterThan(0)) { -// return -// } -// -// ctx.logger.info("deposit", {value: value.toNumber(), token: token.symbol, bridge: token.bridge, account: evt.guid.account_address}) -// }).onEventWithdrawEvent(async (evt, ctx) => { -// const payload = ctx.transaction.payload as TransactionPayload_EntryFunctionPayload -// const token = BRIDGE_TOKENS.get(payload.type_arguments[0]) -// if (!token) { -// return -// } -// -// const amount = scaleDown(evt.data_decoded.amount, token.decimals) -// const value = amount.multipliedBy(PRICES.get(token.token_type.type)!) -// // const value = await calculateValueInUsd(evt.data_decoded.amount, token, priceTimestamp) -// if (!value.isGreaterThan(0)) { -// return -// } -// ctx.logger.info("withdraw", {value: value.negated().toNumber(), token: token.symbol, bridge: token.bridge, account: evt.guid.account_address}) -// }) - -coin.bind() +coin.bind().onEventDepositEvent(async (evt, ctx) => { + const payload = ctx.transaction.payload as EntryFunctionPayloadResponse + const token = BRIDGE_TOKENS.get(payload.type_arguments[0]) + if (!token) { + return + } + + const amount = scaleDown(evt.data_decoded.amount, token.decimals) + const value = amount.multipliedBy(PRICES.get(token.token_type.type)!) + + // const value = await calculateValueInUsd(evt.data_decoded.amount, token, priceTimestamp) + if (!value.isGreaterThan(0)) { + return + } + + ctx.eventLogger.emit("deposit", {value: value.toNumber(), token: token.symbol, bridge: token.bridge, account: evt.guid.account_address}) +}).onEventWithdrawEvent(async (evt, ctx) => { + const payload = ctx.transaction.payload as EntryFunctionPayloadResponse + const token = BRIDGE_TOKENS.get(payload.type_arguments[0]) + if (!token) { + return + } + + const amount = scaleDown(evt.data_decoded.amount, token.decimals) + const value = amount.multipliedBy(PRICES.get(token.token_type.type)!) + // const value = await calculateValueInUsd(evt.data_decoded.amount, token, priceTimestamp) + if (!value.isGreaterThan(0)) { + return + } + ctx.eventLogger.emit("withdraw", {value: value.negated().toNumber(), token: token.symbol, bridge: token.bridge, account: evt.guid.account_address}) +}) + +// coin.bind() // defaultMoveCoder().load(coin.ABI) @@ -68,9 +71,9 @@ account.bind().onEventCoinRegisterEvent(async (call, ctx) => { if (!token) { return } - const coinStore = `0x1::coin::CoinStore<${token.token_type.type}>`; + const coinStore = `0x1::coin::CoinStore<${token.token_type.type}>` as MoveStructId; - const res = await client.getAccountResource(accountAddress, coinStore) + const res = await client.getAccountResource({ accountAddress, resourceType: coinStore }) const decodedRes = await defaultMoveCoder().decodeResource>(res) if (!decodedRes) { console.log(res) diff --git a/projects/bridgetoken/tsconfig.json b/projects/bridgetoken/tsconfig.json index 79683987..adec1dab 100644 --- a/projects/bridgetoken/tsconfig.json +++ b/projects/bridgetoken/tsconfig.json @@ -18,6 +18,7 @@ }, "exclude": [ "dist", - "tsconfig.json" + "tsconfig.json", + "jest.config.ts" ] } \ No newline at end of file diff --git a/projects/liquidswap/src/liquidswap.ts b/projects/liquidswap/src/liquidswap.ts index 7b0fd654..36a2af45 100644 --- a/projects/liquidswap/src/liquidswap.ts +++ b/projects/liquidswap/src/liquidswap.ts @@ -1,5 +1,6 @@ -import {defaultMoveCoder, AptosResourcesProcessor, TypedMoveResource, MoveResource, AptosResourcesContext} from "@sentio/sdk/aptos"; +import {defaultMoveCoder, AptosResourcesProcessor, TypedMoveResource, AptosResourcesContext} from "@sentio/sdk/aptos"; +import { MoveResource } from "@aptos-labs/ts-sdk" // v0 @@ -32,6 +33,7 @@ import { tvlByPoolNew, volume, volumeByCoin, } from "./metrics.js" +import { SimpleCoinInfo } from "@sentio/sdk/move/ext"; // TODO to remove export const accountTracker = AccountEventTracker.register("users") @@ -362,7 +364,7 @@ for (const env of [v0, v05]) { let priceInUsd: Map = new Map() function calcPrice(coin: string, pools: TypedMoveResource>[]) { - /* + const coinInfo = getCoinInfo(coin) if (coinInfo.symbol == "USDC") { return BigDecimal(1) @@ -414,8 +416,8 @@ for (const env of [v0, v05]) { } else { console.log(`failed to get price of coin[${coinInfo.symbol}]`) } - return res*/ - return BigDecimal(0) + return res + // return BigDecimal(0) } // loadAllTypes(defaultMoveCoder()) diff --git a/projects/simple-aptos-coin/abis/aptos/0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948.json b/projects/simple-aptos-coin/abis/aptos/0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948.json new file mode 100644 index 00000000..92ce5882 --- /dev/null +++ b/projects/simple-aptos-coin/abis/aptos/0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948.json @@ -0,0 +1,35 @@ +[ + { + "bytecode": "0xa11ceb0b050000000501000202020a070c170823200a4305000000010003000100010001076c705f636f696e024c500b64756d6d795f6669656c6405a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948000201020100", + "abi": { + "address": "0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948", + "name": "lp_coin", + "friends": [], + "exposed_functions": [], + "structs": [ + { + "name": "LP", + "is_native": false, + "abilities": [], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + } +] \ No newline at end of file diff --git a/projects/simple-aptos-coin/abis/aptos/auxexchange.json b/projects/simple-aptos-coin/abis/aptos/auxexchange.json new file mode 100644 index 00000000..6a625ba0 --- /dev/null +++ b/projects/simple-aptos-coin/abis/aptos/auxexchange.json @@ -0,0 +1,4274 @@ +[ + { + "bytecode": "0xa11ceb0b050000000e01001a021a50036a870404f1047805e905c70807b00ea10e08d11c4006911d800210911ffd040a8e2482010b9025060c9625d8310dee56160e8457220000010101020103010401050106010701080109000a000b000c000d0600000e000200010001000f06020001000100100802000100010011060000120600021d040100010b280700072a0700044a040106010250050100010252050100010568070100000272050100010013000102000000140201020000001503010200000016030102000000170405000018010102000000190505020000001a0505020000001b060700001c080500001e090a020000001f0b0a02000000200c0a02000000210d0e02000000220a0b02000000230f01020000002410010200000025020e020000002611050000271105000029121300002b0114020000002c0114020000002d150500002e0116020000002f10010200000030100102000000311701020000003218010200000033191a02000000341b0102000000351c15020000003602010200000037191a02000000381d0102000000391c15020000003a0201020000003b1e0a020000003c1001020000003d0105020000003e0105020000025b10210100065c182400025d24160100025e18010100025f260101000c60102101000c61260101000b622812000b632912000364050500036505050002662c0501000b67121300026901300100056a31200103026b32210100026c36010100036d050500026e38010100086f01050009700114010004713a0101060a7318160003740505000275011601000a76013e0002773f400100027841010100017918420106027a012101000b7b4816000b7c4712000b7d4712000b7e471600077f4a1400028001011401000781014b05000782014c14000783014d010002840101140100028501210101000a8601183e0002870153210100292029220a232b252c252d252d202d220b230c232e202e222f252f202f2234203422052336253713382038222523392234253b253d203d223e3939203e3c412515231623432544252b202c202b222c22453c45434539462046220d234c204c225020502229250e232e250f23512019231f23232353253e4307060c0303030403030003060c030304060c0303030504040303030103060303040303030303030305030304030308070b06010900070b06010901030303040303010b06010b020209000901020b060109000b0601090103070b06010900070b060109010303070b060109010303010b01020900090103060c070b060109000b01020900090102060c0304030303030108070104010808020303010102060c0b01020900090101060c08050b060109000b060109010303010404020b060109010b0601090005060c030404030805070b06010900070b06010901030301040404060c03040405070b030209000901010b060109000b0601090103040b06010b020209000901050b060109000b06010901010900010b0601090001090102090009010105010b02020900090102050b060109000303080704020404020807040209010900080303060b030209000901060b0302090109000303030301060b06010900150303030303030303030404040404040304040304040201040d0b0c0104010103030b060109000b060109010103070b030209000901040303010b0c010402060b0c010900090002070b0601090003080b0c0104010103070b030209000901040303110b0c01040101070b0302090009010303030404070b030209000901040b060109000b0601090103030303160303070b060109010303070b0601090103030303040404040b06010901070b06010901070b030209000901070b0302090109000303030302070b060109000b060109000b0b0c010404040303070b030209000901040b06010900030b0601090103020b06010900060b0b01090001080402070b0901090009001f05070b09010805050308080808030303030303070b090108050808080803030303030b060109000b06010900030303070b030209000901070b0302090109000303030301080507010c060c0b0b010b0202090009010b0d010b0202090009010b0a010b0202090009010b030209000901010c05060c080808080201030b0b0109000b0d0109000b0a010900010b0d010900010b09010900010800020b060109010b010209000901030104040401040404020807080701060807050808080803030808010a0201060808030608080303020708080808050b0c01040c060c070b03020900090104030b060109000b06010901053505070b090108050305030808080803030303030808070b09010805030303030303030308080303030303030303030b060109000b060109000303030304040304040b060109010b06010901070b030209000901070b0302090109000303030303033305070b09010805030503080808080303030303070b090108050808030303030303030308080303030303030303030b060109000b06010900030304040304040b060109010b06010901070b030209000901070b030209010900030303030303060c03030b06010b0202090009010b06010b020209000901030203060b0a01090001060b03020900090103616d6d076163636f756e7404636f696e056572726f72056576656e74066f7074696f6e067369676e657206737472696e670974696d657374616d7009747970655f696e666f09617574686f726974790775696e74323536057661756c74114164644c69717569646974794576656e7409466c61736853776170024c5004506f6f6c1452656d6f76654c69717569646974794576656e7409537761704576656e74196164645f617070726f78696d6174655f6c6971756964697479136164645f65786163745f6c69717569646974790d6164645f6c69717569646974791e6164645f6c69717569646974795f776974685f6175785f6163636f756e740f616d6f756e745f696e5f6c696d69740b6173736572745f706f6f6c0561755f696e0661755f6f75741f63616c63756c6174655f617070726f78696d6174655f6c69717569646974791863616c63756c6174655f6c705f746f6b656e5f657861637404436f696e1e636f696e5f6164645f617070726f78696d6174655f6c697175696469747918636f696e5f6164645f65786163745f6c697175696469747912636f696e5f6164645f6c69717569646974790f636f696e5f666c6173685f7377617015636f696e5f72656d6f76655f6c69717569646974790a636f696e5f72657061790b6372656174655f706f6f6c0a666c6173685f737761700d6765745f616d6f756e745f696e0e6765745f616d6f756e745f6f75740755696e7432353613696e74656765725f7371756172655f726f6f7406537472696e67076c705f6e616d65096c705f73796d626f6c076d696e5f7536340b706f6f6c5f6578697374731072656d6f76655f6c69717569646974792172656d6f76655f6c69717569646974795f776974685f6175785f6163636f756e740572657061790a72657365745f706f6f6c18737761705f636f696e5f666f725f65786163745f636f696e1e737761705f636f696e5f666f725f65786163745f636f696e5f6c696d69741c737761705f636f696e5f666f725f65786163745f636f696e5f6d757424737761705f636f696e5f666f725f65786163745f636f696e5f776974685f7369676e657218737761705f65786163745f636f696e5f666f725f636f696e1e737761705f65786163745f636f696e5f666f725f636f696e5f6c696d69741c737761705f65786163745f636f696e5f666f725f636f696e5f6d757424737761705f65786163745f636f696e5f666f725f636f696e5f776974685f7369676e65722f7472616e736665725f746f6b656e735f616e645f6d696e745f61667465725f616464696e675f6c69717569646974790a7570646174655f66656504785f617504795f61750b785f636f696e5f747970650b795f636f696e5f747970650a785f61646465645f61750a795f61646465645f61750c6c705f6d696e7465645f617505696e5f6175066f75745f61750b64756d6d795f6669656c640666726f7a656e076665655f6270730b737761705f6576656e74730b4576656e7448616e646c65146164645f6c69717569646974795f6576656e74731772656d6f76655f6c69717569646974795f6576656e747309785f7265736572766509795f72657365727665076c705f6d696e740e4d696e744361706162696c697479076c705f6275726e0e4275726e4361706162696c6974790c785f72656d6f7665645f61750c795f72656d6f7665645f61750c6c705f6275726e65645f61750b73656e6465725f616464720c696e5f636f696e5f747970650d6f75745f636f696e5f747970650a696e5f726573657276650b6f75745f726573657276650877697468647261770a616464726573735f6f661569735f6163636f756e745f72656769737465726564087265676973746572076465706f7369740d77697468647261775f636f696e0c6465706f7369745f636f696e19756e6465726c79696e675f6d756c5f746f5f75696e74323536116469766964655f756e6465726c79696e6710696e76616c69645f617267756d656e74096e6f745f666f756e640576616c756508646f776e63617374064f7074696f6e06737570706c79106765745f776974685f64656661756c740765787472616374056d657267650d696e76616c69645f7374617465046275726e106e6f775f6d6963726f7365636f6e647309747970655f6e616d650a656d69745f6576656e7410467265657a654361706162696c6974790f69735f7369676e65725f6f776e65720e616c72656164795f6578697374731369735f636f696e5f696e697469616c697a65640f6765745f7369676e65725f73656c660a696e697469616c697a651264657374726f795f667265657a655f636170106e65775f6576656e745f68616e646c65047a65726f0769735f7a65726f0664697669646503616464046c6573730475746638046e616d65066c656e6774680a7375625f737472696e6706617070656e640673796d626f6c0c64657374726f795f7a65726f0a6765745f7369676e6572046d696e74bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308120000000000000003080a00000000000000030810000000000000000308110000000000000003080c00000000000000030807000000000000000308130000000000000003080f0000000000000003080d0000000000000003080500000000000000030809000000000000000308010000000000000003080e0000000000000003080400000000000000030806000000000000000308020000000000000003080800000000000000030803000000000000000308140000000000000003080b000000000000000201080308e8030000000000000520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410a0201000a0202012f126170746f733a3a6d657461646174615f7630e8041401000000000000001445504f4f4c5f414c52454144595f4558495354530002000000000000000f45504f4f4c5f4e4f545f464f554e440003000000000000001645545950455f415247535f57524f4e475f4f524445520004000000000000001a45504f4f4c5f4c494d49545f50524943455f56494f4c415445440005000000000000001a454d494e5f4c49515549444954595f4e4f545f524541434845440006000000000000000f45504f4f4c5f4e4f545f454d5054590007000000000000001a45494e53554646494349454e545f4d494e5f5155414e544954590008000000000000001b4552454d4f56455f4c49515549444954595f554e444552464c4f5700090000000000000013454f5045524154494f4e5f4f564552464c4f57000a000000000000001145434f4e5354414e545f50524f44554354000b00000000000000154556494f4c415445445f4c494d49545f5052494345000c000000000000001a45494e53554646494349454e545f4d41585f5155414e54495459000d000000000000000c45494e56414c49445f464545000e000000000000000c45504f4f4c5f46524f5a454e000f000000000000001245494e56414c49445f414d4d5f524154494f0010000000000000001a45494e53554646494349454e545f494e5055545f414d4f554e540011000000000000001745494e53554646494349454e545f4c495155494449545900120000000000000018454144445f4c49515549444954595f554e444552464c4f570013000000000000001b45494e53554646494349454e545f4f55545055545f414d4f554e540014000000000000000d45554e415554484f52495a45440000020608033f080840080841034203430301020244034503020201460103020a470108034803490b090108054b0b090108004c0b090108044d0b060109004e0b060109014f0b0a010b020209000901510b0b010b02020900090104020608033f08084008085303540355030502095605080357080858080859035a03440345034803032a0323012300010401031f290a000a0138000c090a000a0238010c0a0d090d0a0b010b020b030b040b050b0638020c070a00112a0c080a08380320031a051d0b003804051f0b00010a080b0738050a080b0938060b080b0a38070201010401031f1d0a000b0138000c050a000b0238010c060b050b0638080c030a00112a0c040a04380320031405170b00380405190b00010b040b0338050202010401031f240a000b0138000c060a000b0238010c070d060d070b0338090c040a00112a0c050a05380320031505180b003804051a0b00010a050b0438050a050b0638060b050b0738070203010401031f240a000b01380a0c060a000b02380b0c070d060d070b0338090c040a00112a0c050a05380320031505180b003804051a0b00010a050b04380c0a050b06380d0b050b07380e0204000000271e0a02350b0335180b0111300b0011310c060b0611140c070a070a023523031305160600000000000000000c05051c0b070b023517340c050b050205000000010e07163b00200307071111322707163b01030d070f1133270206010001032b3407163b010304051807163d010c030a033700380f0c050a03370138100c070b000b050b070b0337021411120c02053207163b00031d070f2707163d000c040a04370338100c060a043704380f0c080b000b080b060b0437051411120c010b010c020b020207010001032b3407163b010304051807163d010c030a033700380f0c050a03370138100c070b000b050b070b0337021411130c02053207163b00031d070f2707163d000c040a04370338100c060a043704380f0c080b000b080b060b0437051411130c010b010c020b0202080000002dcd010a0306000000000000000022030707071132270a0406000000000000000022030e07071132270a03350a0135180c130a04350a0035180c140a130a1421031f052b0b000b010b020a030a0411090b030b040c070c0d0c0c05b5010a130a1424033005700a140a01351a0c160b140a0135190c170b17320000000000000000000000000000000022033f054b0a16340b0323034707071132270b163201000000000000000000000000000000160c160a160a0211300b0035113111350c0f0a04350b0211300b0135113111350c110a0f0a1124036105650b11340c0605680b0f340c060b060b16340b040c0b0c0a0c0905af010a130a00351a0c190b130a0035190c1a0b1a320000000000000000000000000000000022037f058b010a19340b042303870107071132270b193201000000000000000000000000000000160c190a03350a0211300b0035113111350c100a190b0211300b0135113111350c120a100a122403a10105a5010b12340c0805a8010b10340c080b080b030b19340c0b0c0a0c090b090b0a0b0b0c070c0d0c0c0b0c0b0d0b070c180c150c0e0a0e0b052603c20107051132270a0e0600000000000000002403c90107051132270b0e0b150b1802090000002e450a0306000000000000000022030707071132270a0406000000000000000022030e07071132270a0006000000000000000022031305180a01060000000000000000220c05051a090c050b05031d05350a00350b0435180a03350b01351821032b0707270b03350b0211300b0035113111350c06053c0b03350b0435113011140c060a0632000000000000000000000000000000002203420700270b0634020a010001032f7e381107163c010c110a113706142003110b01010b00010b1101070c270a113700380f0c130a11370138100c1438120c080e08320000000000000000000000000000000038130c120a130600000000000000002103240527080c09052b0a14060000000000000000210c090b090c0f0a130a140a120b020b030b0411080c0c0c0b0c100a05320000000000000000000000000000000021033c053f080c0a05460b120a1035160b05250c0a0b0a03510b01010b00010b110107051132270b130a0b160b062603600b01010b00010b110107051132270b140a0c160b0726036f0b01010b00010b110107051132270b000b0b38140c0d0b010b0c38150c0e0b110b0f0b0d0b0e0b103816020b010001033339381107163c010c060a0637061420030d0b0601070c270a063700380f0c080a06370138100c0938120c020e02320000000000000000000000000000000038130c070a080600000000000000002103200523080c0305270a09060000000000000000210c030b030c040b080b090b070e00380f0e01381011090c050b060b040b000b010b053816020c0100010334980107163c010c0c0a0c3706142003100b01010b00010b0c01070c270a0c3700380f0c110a0c370138100c1338120c030e03320000000000000000000000000000000038130c0d0a002e380f0c100a012e38100c120a110a130a0d0b100b1206000000000000000011080c080c070c090a110600000000000000002203350538080c04053c0a13060000000000000000220c040b04033f057b0a07350a0d11300a1135113111350c0a0a08350b0d11300a1335113111350c0b0a09353210270000000000000000000000000000180b0a350610270000000000000a021735182603660b01010b00010b0c010713270a09353210270000000000000000000000000000180b0b350610270000000000000b0217351826037b0b01010b00010b0c010713270b000b0738140c0e0b010b0838150c0f0b0c0c060b1106000000000000000021038a01058d01080c050591010b13060000000000000000210c050b060b050b0e0b0f0b093816020d0100010335be0107163b010304055207163c010c130a133706142003120b00010b1301070c27080a133606150a133700380f0c150a13370138100c170a010a150a170a1337021411130c0a0a0a0b022603300b00010b13010705270a15350a1735180c0f0b150a0116350b170a0a1735180c0d0b0d0b0f26034a0b00010b13010701270b010b0a0b1336010c050c040c0305ad0107163b000356059c0107163c000c140a143707142003640b00010b1401070c27080a143607150a14370338100c160a143704380f0c180a010a180a160a1437051411130c0c0a0c0b02260382010b00010b14010705270a16350a1835180c100b160a0c17350b180a011635180c0e0b0e0b102603a0010b00010b14010701270b0001070f270b010b0c0b1436030c080c070c060b060b070b080c050c040c030b030b040b050c120c0b0c090b120a0b38150c110b000b1138170b090b0b3902020e010001033765381107163c010c060a0637061420030d0b0601070c270a063700380f0c090a06370138100c0b0e0038180c0438120c010e01320000000000000000000000000000000038130c070a04350b0935180a071a0c020a04350b0b35180b071a0c030a0232000000000000000000000000000000002203370b06010710113a270a0332000000000000000000000000000000002203400b06010710113a270a0636000a023438140c080a0636010a033438150c0a0b000a0637083819113c0c050a0636090a05381a381b0b02340b03340b041204381c0b050b06360a150b080b0a020f010001033b97010b023a020c1b0c19113c0c1a07163b01030a054c07163c010c1c0a1c3700380f0c1e0a1c370138100c20090a1c3606150b010a1938140c170a1c36000b17381d0a1c360b0c040b00112a0c030a1a0c0a381a0c10381b0c110b190c120a1b0c130a1c3702140c140b1e0c150b200b1b160c160b040b030b0a0b100b110b150b160b120b130b141205381e0b1a0b1c360a1505960107163b00035005920107163c000c1d0a1d370338100c1f0a1d3704380f0c21090a1d3607150b010a1938140c180a1d36040b18381d0a1d360c0c0f0b00112a0c050a1a0c06381a0c07381b0c080b190c090a1b0c0b0a1d3705140c0c0b210c0d0b1f0b1b160c0e0b0f0b050b060b070b080b0d0b0e0b090b0b0b0c1205381e0b1a0b1d360d150596010b01010b000102100104003d620a01060a000000000000002303050508080c02050c0a01061e00000000000000240c020b02030f05160b00113f0315070811322705180b000107163b0120031f070b11402707163b002003260711114027381f20032b070b2711420c030e030c040a043820382107140838220c070c060c050b0638230716382420033f05410a0438250716382620034605480a0438270716380320034d054f0a04380409113c0b010a0438280a0438290a04382a382b382c0b070b0539010c080b040b083f01021101000103440d382c0c030d030b010b02382d0c040b00112a0b0338070b04021200000045310a000600000000000000002403060706270a0106000000000000000024030b05100a02060000000000000000240c040512090c040b0403160703270b01350a0035183210270000000000000000000000000000180c060b020b0017350610270000000000000b031735180c050b060a05163201000000000000000000000000000000170b051a34021300000046300a000600000000000000002403060702270a0106000000000000000024030b05100a02060000000000000000240c040512090c040b0403160703270b00350610270000000000000b031735180c050a050b0235113011350c070b01353210270000000000000000000000000000180b05160c060b070b061a34021400000047260a00320200000000000000000000000000000011310c010e01114720030905230a010a000a0111481149320200000000000000000000000000000011310c020a020a01114a031605210b020c010a010a000a0111481149320200000000000000000000000000000011310c0205110b010c000b001135021500000049230717114b0c04382e0c00382f0c010e00114d060e0000000000000011170c020d040e000600000000000000000b02114e114f0d040718114b114f0e01114d060e0000000000000011170c030d040e010600000000000000000b03114e114f0b04021600000049230717114b0c0438300c0038310c010e00114d06030000000000000011170c020d040e000600000000000000000b02114e114f0d040718114b114f0e01114d06030000000000000011170c030d040e010600000000000000000b03114e114f0b040217000000050c0a000a0124030505080b010c02050a0b000c020b020218010000010307163b010219010401031f120a000b0138320c020b0238330c050c040b00112a0c030a030b0438060b030b053807021a010401031f120a000b0138340c020b0238330c050c040b00112a0c030a030b04380d0b030b05380e021b01000103210d0a000e01370e1438000c020b000d020b0138350b023836021c010401034e26381107163c010c040b0437061420030d0b0001070c2738120c010e01320000000000000000000000000000000038130c050b0507153521031d0b0001070e1132270b0011520c020e020c030b0307153837021d01000103010e0b000d010d020b030b040b050b060b07383801010b020b01021e010401034f1c0a000a0138000c05382c0c060a00112a0d050d060b010b04080b020b03383801010b00112a0c070a070b0538060b070b063807021f0100010350c103113c0c3007163b01030605c50107163c010c350a353706142003160b35010b02010b0101070c270a353700380f0c390a35370138100c3b0a05032105550a070a060a390a3b0a3537021411040c2a0a2a06000000000000000021032f05380b35010b02010b0101060000000000000000060000000000000000020b2a0a390a3b0a3537021411130c2c0a2c060000000000000000210345054e0b35010b02010b0101060000000000000000060000000000000000020a2c0a0423035305550b2c0c040a040a390a3b0a3537021411120c240a240b032503690b35010b02010b01010704270b010a2438140c280a3536000b28381d0a3536010a0438150c330b020b3338170a39350a3b35180c310a390a2416350a3b0a041735180c2e0b2e0b31260391010b35010701270a35360b0c090b000c080a300c0a381a0c14381b0c1e0a240c1f0a040c200a353702140c210a390c220a3b0c230b090b080b0a0b140b1e0b220b230b1f0b200b211205381e0b300b35360a150a040a240b3b0b04170b390b24160c1d0c1c0c1b0c1a05950307163b0003c90105d40207163c000c360a363707142003d9010b36010b02010b0101070c270a36370338100c3a0a363704380f0c3c0a0503e4010598020a070a060a3c0a3a0a3637051411040c2b0a2b0600000000000000002103f20105fb010b36010b02010b0101060000000000000000060000000000000000020b2b0a3c0a3a0a3637051411130c2d0a2d060000000000000000210388020591020b36010b02010b0101060000000000000000060000000000000000020a2d0a04230396020598020b2d0c040a040a3c0a3a0a3637051411120c250a250b032503ac020b36010b02010b01010704270b010a2538140c290a3636040b29381d0a3636030a0438150c340b020b3438170a3a350a3c35180c320a3c0a2516350a3a0a041735180c2f0b2f0b322603da020b36010701270b02010b0101070f270a36360c0c150b000c0b0a300c0c381a0c0d381b0c0e0a250c0f0a040c100a363705140c110a3c0c120a3a0c130b150b0b0b0c0b0d0b0e0b120b130b0f0b100b111205381e0b300b36360d150a040a250b3a0b04170b3c0b25160c190c180c170c160b160b170b180b190c1d0c1c0c1b0c1a0b1a0b1b0b1c0b1d0c370c380c260c270b0503a00305be030a060a071a32000000000000000000000000000000002403a70305b3030b370b381a350b060b071a2503b20307132705be030b380b371a350b070b061a2603be030713270b270b260220010401034f260a000a0138000c03382c0c040a00112a0d030d040b010b020932000000000000000000000000000000003200000000000000000000000000000000383801010a00112a0c050a050b0338060a05382620031d05200b00382705220b00010b050b043807022101000103010e0b000d010d020b030b040b050b060b07383901010b020b010222010401034f1c0a000a0138000c04382c0c050a00112a0d040d050b01060000000000000000080b020b03383901010b00112a0c060a060b0538070b060b043806022301000103519503113c0c2e07163b01030605af0107163c010c330a333706142003160b33010b02010b0101070c270a333700380f0c370a33370138100c390a050321053f0a060a070a370a390a3337021411040c2a0a2a06000000000000000021032f05380b33010b02010b0101060000000000000000060000000000000000020a2a0a0323033d053f0b2a0c030a030a370a390a3337021411130c250a250b042603530b33010b02010b01010705270b010a0338140c280a3336000b28381d0a3336010a2538150c310b020b3138170a37350a3935180c2f0a370a0316350a390a251735180c2c0b2c0b2f26037b0b33010701270a33360b0c090b000c080a2e0c0a381a0c15381b0c1e0a030c1f0a250c200a333702140c210a370c220a390c230b090b080b0a0b150b1e0b220b230b1f0b200b211205381e0b2e0b33360a150a250a030b390b25170b370b03160c1d0c1c0c1b0c1a05e90207163b0003b30105a80207163c000c340a343707142003c3010b34010b02010b0101070c270a34370338100c380a343704380f0c3a0a0503ce0105ec010a060a070a3a0a380a3437051411040c2b0a2b0600000000000000002103dc0105e5010b34010b02010b0101060000000000000000060000000000000000020a2b0a032303ea0105ec010b2b0c030a030a3a0a380a3437051411130c260a260b04260380020b34010b02010b01010705270b010a0338140c290a3436040b29381d0a3436030a2638150c320b020b3238170a38350a3a35180c300a3a0a0316350a380a261735180c2d0b2d0b302603ae020b34010701270b02010b0101070f270a34360c0c140b000c0b0a2e0c0c381a0c0d381b0c0e0a030c0f0a260c100a343705140c110a3a0c120a380c130b140b0b0b0c0b0d0b0e0b120b130b0f0b100b111205381e0b2e0b34360d150a260a030b380b26170b3a0b03160c190c180c170c160b160b170b180b190c1d0c1c0c1b0c1a0b1a0b1b0b1c0b1d0c350c360c240c270b0503f4020592030a060a071a32000000000000000000000000000000002403fb020587030b360b351a350b060b071a260386030713270592030b350b361a350b070b061a250392030713270b270b240224010401034f260a000a0138000c03382c0c040a00112a0d030d040b010b020932000000000000000000000000000000003200000000000000000000000000000000383901010a00112a0c050a050b0338060a05382620031d05200b00382705220b00010b050b043807022500000052480e02380f0c060e0338100c070b01030905290a04071524030e05220b040715170c0407150a00370f383a0c080716380320031c052111420c050e053804052605260b000107092707160b0838050a0036000b02381d0a0036010b0338170a040a00370f383a0c09113c0c0a0a0036100a0a381a381b0b060b070b041200383b0b0a0b00360a150b0902260104010316220a010610270000000000002503090b0001070811322738110a00113f030e05130b0001080c0205180b00112a0716210c020b02031c0712270b0107163c01360215022701000103540707163d010c000b003700380f022801000103540707163d010c000b00370138100203060307030203000309030503010303010003080304002301230223002a012a022a0323032a0423052306230723072a062a082309230a2300", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "amm", + "friends": [], + "exposed_functions": [ + { + "name": "add_approximate_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u128", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "add_exact_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "add_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "add_liquidity_with_aux_account", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "au_in", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "au_out", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "coin_add_approximate_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&mut 0x1::coin::Coin", + "&mut 0x1::coin::Coin", + "u64", + "u64", + "u64", + "u128", + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP>" + ] + }, + { + "name": "coin_add_exact_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ], + "return": [ + "0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP>" + ] + }, + { + "name": "coin_add_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&mut 0x1::coin::Coin", + "&mut 0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP>" + ] + }, + { + "name": "coin_flash_swap", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&mut 0x1::coin::Coin", + "u64", + "u64" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap" + ] + }, + { + "name": "coin_remove_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP>" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "coin_repay", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "&mut 0x1::coin::Coin", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap" + ], + "return": [] + }, + { + "name": "create_pool", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "flash_swap", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap" + ] + }, + { + "name": "pool_exists", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "remove_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "remove_liquidity_with_aux_account", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "repay", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap" + ], + "return": [] + }, + { + "name": "reset_pool", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "swap_coin_for_exact_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin", + "0x1::coin::Coin", + "u64", + "u64", + "bool", + "u128", + "u128" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_coin_for_exact_coin_limit", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u128", + "u128", + "u64" + ], + "return": [] + }, + { + "name": "swap_coin_for_exact_coin_mut", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "&mut 0x1::coin::Coin", + "&mut 0x1::coin::Coin", + "u64", + "u64", + "bool", + "u128", + "u128" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "swap_coin_for_exact_coin_with_signer", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_coin_for_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin", + "0x1::coin::Coin", + "u64", + "u64", + "bool", + "u128", + "u128" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_exact_coin_for_coin_limit", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u128", + "u128" + ], + "return": [] + }, + { + "name": "swap_exact_coin_for_coin_mut", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "&mut 0x1::coin::Coin", + "&mut 0x1::coin::Coin", + "u64", + "u64", + "bool", + "u128", + "u128" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "swap_exact_coin_for_coin_with_signer", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "update_fee", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "x_au", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "y_au", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + } + ], + "structs": [ + { + "name": "AddLiquidityEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "timestamp", + "type": "u64" + }, + { + "name": "x_coin_type", + "type": "0x1::string::String" + }, + { + "name": "y_coin_type", + "type": "0x1::string::String" + }, + { + "name": "x_added_au", + "type": "u64" + }, + { + "name": "y_added_au", + "type": "u64" + }, + { + "name": "lp_minted_au", + "type": "u64" + } + ] + }, + { + "name": "FlashSwap", + "is_native": false, + "abilities": [], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "in_au", + "type": "u64" + }, + { + "name": "out_au", + "type": "u64" + } + ] + }, + { + "name": "LP", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "Pool", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "frozen", + "type": "bool" + }, + { + "name": "timestamp", + "type": "u64" + }, + { + "name": "fee_bps", + "type": "u64" + }, + { + "name": "swap_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::SwapEvent>" + }, + { + "name": "add_liquidity_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::AddLiquidityEvent>" + }, + { + "name": "remove_liquidity_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::RemoveLiquidityEvent>" + }, + { + "name": "x_reserve", + "type": "0x1::coin::Coin" + }, + { + "name": "y_reserve", + "type": "0x1::coin::Coin" + }, + { + "name": "lp_mint", + "type": "0x1::coin::MintCapability<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP>" + }, + { + "name": "lp_burn", + "type": "0x1::coin::BurnCapability<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP>" + } + ] + }, + { + "name": "RemoveLiquidityEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "timestamp", + "type": "u64" + }, + { + "name": "x_coin_type", + "type": "0x1::string::String" + }, + { + "name": "y_coin_type", + "type": "0x1::string::String" + }, + { + "name": "x_removed_au", + "type": "u64" + }, + { + "name": "y_removed_au", + "type": "u64" + }, + { + "name": "lp_burned_au", + "type": "u64" + } + ] + }, + { + "name": "SwapEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "sender_addr", + "type": "address" + }, + { + "name": "timestamp", + "type": "u64" + }, + { + "name": "in_coin_type", + "type": "0x1::string::String" + }, + { + "name": "out_coin_type", + "type": "0x1::string::String" + }, + { + "name": "in_reserve", + "type": "u64" + }, + { + "name": "out_reserve", + "type": "u64" + }, + { + "name": "in_au", + "type": "u64" + }, + { + "name": "out_au", + "type": "u64" + }, + { + "name": "fee_bps", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000b01000402040403084105491807618a0208eb024006ab031710c2032d0aef03070cf603b9030daf070400000101000208000003000100000402030000050203000006040500000704030000080403000009060200000a070100000b000100000c070100000d080200000e08020001110604000305030101030001020105010101060c020503020502010403666565067369676e657203466565076164645f6665651864656661756c745f6d616b65725f7265626174655f6270731564656661756c745f74616b65725f6665655f6270730a6665655f657869737473146765745f6d616b65725f7265626174655f627073116765745f74616b65725f6665655f62707316696e697469616c697a655f6665655f64656661756c740c6d616b65725f7265626174650c73756274726163745f6665650974616b65725f666565177570646174655f6d616b65725f7265626173655f627073147570646174655f74616b65725f6665655f627073106d616b65725f7265626174655f6270730d74616b65725f6665655f6270730a616464726573735f6f66bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010201000308010000000000000003080000000000000000126170746f733a3a6d657461646174615f7630190101000000000000000e455f544553545f4641494c555245000002020f021002000100010009210b02030305110b013532102700000000000000000000000000000b002b0010001435161832102700000000000000000000000000001a0c03051e0b013532102700000000000000000000000000000b002b0010011435171832102700000000000000000000000000001a0c030b0334020101000002020700020201000002020700020301000002030b00290002040100010002050b002b0010011402050100010002050b002b001000140206010000020f0a00110c11032003090b00010702270b000700070012002d00020701000100020c0b01350b002b00100114351832102700000000000000000000000000001a3402080100010009210b02030305110b013532102700000000000000000000000000000b002b0010001435171832102700000000000000000000000000001a0c03051e0b013532102700000000000000000000000000000b002b0010011435161832102700000000000000000000000000001a0c030b0334020901000100020c0b01350b002b00100014351832102700000000000000000000000000001a34020a0300010002060b010b002a000f0115020b0300010002060b010b002a000f0015020001000000", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "fee", + "friends": [], + "exposed_functions": [ + { + "name": "add_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "u64", + "bool" + ], + "return": [ + "u64" + ] + }, + { + "name": "default_maker_rebate_bps", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "default_taker_fee_bps", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "fee_exists", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "bool" + ] + }, + { + "name": "get_maker_rebate_bps", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "u8" + ] + }, + { + "name": "get_taker_fee_bps", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "u8" + ] + }, + { + "name": "initialize_fee_default", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "maker_rebate", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "subtract_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "u64", + "bool" + ], + "return": [ + "u64" + ] + }, + { + "name": "taker_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "update_maker_rebase_bps", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "u8" + ], + "return": [] + }, + { + "name": "update_taker_fee_bps", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "u8" + ], + "return": [] + } + ], + "structs": [ + { + "name": "Fee", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "maker_rebate_bps", + "type": "u8" + }, + { + "name": "taker_fee_bps", + "type": "u8" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000c01000e020e08031659046f0605752f07a401e601088a034006ca030a10d4032b0aff03060c85048f030d940702000001010102010301040105010600070700040a070000080001000009020300000b040500000c060300000d060300000e060300000f060300001006030000110603000012070800001302030000140609010001150b0a010006160d06010003170a0a0002180a01000519060501000c010d0c100e02050a020105020404010401060800010801000203030103010800010a0201060900010202070a09000a0900010900047574696c036263730866726f6d5f626373046861736806737472696e6709747970655f696e666f06766563746f7204547970651c6372656174655f7265736f757263655f6163636f756e745f616464720365787006537472696e67046e616d6508706f775f31305f3408706f775f31305f3508706f775f31305f3608706f775f31305f3708706f775f31305f3808706f775f31305f39097375625f6d696e5f300e7375625f6d696e5f305f7531323807747970655f6f6608746f5f627974657306617070656e6408736861335f3235360a746f5f6164647265737309747970655f6e616d65bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541000000000000000000000000000000000000000000000000000000000000000103080100000000000000126170746f733a3a6d657461646174615f7630170101000000000000000c45554e535550504f52544544000002010b0801000100000a0d0e0038000c020d020b0138010d0231ff440c0b02110e110f0201010000031d32010000000000000000000000000000000c020a013200000000000000000000000000000000240307051b0a0132010000000000000000000000000000001c320000000000000000000000000000000024030e05120b020a00180c020b013101300c010a000b00180c0005020b02020201000006040b001000140203010000060232102700000000000000000000000000000204010000060232a0860100000000000000000000000000020501000006023240420f00000000000000000000000000020601000006023280969800000000000000000000000000020701000006023200e1f505000000000000000000000000020801000006023200ca9a3b0000000000000000000000000209010000080e0a010a0026030505080600000000000000000c02050c0b000b01170c020b02020a010000030e0a010a00260305050832000000000000000000000000000000000c02050c0b000b01170c020b02020b01000006033802120002000000", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "util", + "friends": [], + "exposed_functions": [ + { + "name": "create_resource_account_addr", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address", + "vector" + ], + "return": [ + "address" + ] + }, + { + "name": "exp", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "name", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type" + ], + "return": [ + "0x1::string::String" + ] + }, + { + "name": "pow_10_4", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "pow_10_5", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "pow_10_6", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "pow_10_7", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "pow_10_8", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "pow_10_9", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "sub_min_0", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "sub_min_0_u128", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "type_of", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type" + ] + } + ], + "structs": [ + { + "name": "Type", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "name", + "type": "0x1::string::String" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000f01001c021c3e035a830204dd0226058303ce0107d104bd08088e0d4006ce0d860110d40ed0020aa411570bfb11020cfd118e090d8b1b0c0e971b040f9b1b02000101020103010401050106010701080109000a000b000c000d000e000f0800001008010001001104000012060000130700001406000015080000160600022104010001072c0402030100010c2e07000632070004390401060100170001000018000100001902030100001a02030100001b040100001c040100001d05030100001e05030100001f05030100002006010100002207010100002302080000240503010000250503010000260401000027000100002806010100002909010100002a090a0100053d040200073e0d01020300073f0f080203000b400202000341121200074201130203040b430401000d440208000d450401000a460208000a4704010009480415000349121200014a04170106034b121200034c121200024d02080100094e011500024f040101000228060101000850011c010004511d01010602521f1201000220070101000b48021500075321220203000229090a0100140c150c180c2016201820192311251126110d112711281829112a112c0c0811281628192d1102060c05000105010401060c02050403060c050302050b08010900010102060c03010b0801090002070800050205080403070b09020900090109000901020608000502060b09020900090109000304060b01010900050109000103010b090209000901030c060c060c010c010805010b0c0109000108030108070205070b01010900020c07080601080b02070b0c0109000900030c0307080601060b08010900040405070b010109000c02070b0902090009010900010901020507080603050708060c040b08010900050708060c0b636c6f625f6d61726b6574057661756c74076163636f756e7404636f696e056572726f72056576656e74067369676e657206737472696e67057461626c6509747970655f696e666f09617574686f72697479036665650e6f6e636861696e5f7369676e6572047574696c0e766f6c756d655f747261636b65720e417578557365724163636f756e740b436f696e42616c616e636508436f696e496e666f0c4465706f7369744576656e74074e6f7468696e670d5472616e736665724576656e74055661756c740d57697468647261774576656e74156164645f617574686f72697a65645f747261646572276173736572745f7472616465725f69735f617574686f72697a65645f666f725f6163636f756e7411617661696c61626c655f62616c616e63650762616c616e6365126372656174655f6175785f6163636f756e740c6372656174655f7661756c741a64656372656173655f617661696c61626c655f62616c616e63651c64656372656173655f756e617661696c61626c655f62616c616e63651564656372656173655f757365725f62616c616e6365076465706f73697404436f696e0c6465706f7369745f636f696e0f6861735f6175785f6163636f756e741a696e6372656173655f617661696c61626c655f62616c616e636515696e6372656173655f757365725f62616c616e63650b696e69745f6d6f64756c651872656d6f76655f617574686f72697a65645f747261646572087472616e736665720877697468647261770d77697468647261775f636f696e12617574686f72697a65645f74726164657273055461626c6509636f696e5f74797065045479706508646563696d616c730a6d61726b5f707269636508636f696e5479706506537472696e67096465706f7369746f7202746f09616d6f756e745f61750b64756d6d795f6669656c640466726f6d0f7472616e736665725f6576656e74730b4576656e7448616e646c650e6465706f7369745f6576656e74730f77697468647261775f6576656e7473056f776e65720a616464726573735f6f660361646408636f6e7461696e73126765745f7369676e65725f616464726573730e616c72656164795f657869737473036e6577156372656174655f6f6e636861696e5f7369676e657220676c6f62616c5f766f6c756d655f747261636b65725f726567697374657265641e72656769737465725f676c6f62616c5f766f6c756d655f747261636b65720a6665655f65786973747316696e697469616c697a655f6665655f64656661756c740a6765745f7369676e6572117065726d697373696f6e5f64656e696564106e65775f6576656e745f68616e646c650d696e76616c69645f7374617465096e6f745f666f756e641569735f6163636f756e745f726567697374657265640f6765745f7369676e65725f73656c6608726567697374657209747970655f6e616d650a656d69745f6576656e740576616c75650672656d6f7665bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308020000000000000003080300000000000000030807000000000000000308090000000000000003080a000000000000000308040000000000000003080b000000000000000308050000000000000003080600000000000000030801000000000000000520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541126170746f733a3a6d657461646174615f7630bb020a010000000000000015455641554c545f414c52454144595f45584953545300020000000000000017454143434f554e545f414c52454144595f45584953545300030000000000000012454143434f554e545f4e4f545f464f554e440004000000000000000b454e4f545f4d4f44554c450005000000000000001345554e494e495449414c495a45445f434f494e0006000000000000001445554e494e495449414c495a45445f5641554c540007000000000000001c4542414c414e43455f494e56415249414e545f56494f4c4154494f4e000900000000000000214543414e4e4f545f444f55424c455f52454749535445525f53414d455f434f494e000a000000000000001345494e53554646494349454e545f46554e4453000b0000000000000016455452414445525f4e4f545f415554484f52495a4544000002012b0b09020508040102021a0419040202032d080a2f02300303020431080b330534053503040201360105020431080b370534053503060203380b0c0108053a0b0c0108033b0b0c01080707020331080b3c053503011100010401000b0d0b0011130c030b032a000c020b020f000b0109120438000201010001000e140b0011130c030a030a012103080509020b012b000c020b0210000b033801031307062702020100010110130b0011160c030a033b000307050f0b033d000c020b023700140c01051132000000000000000000000000000000000c010b0102030100010110130b0011160c030a033b000307050f0b033d000c020b023701140c01051132000000000000000000000000000000000c010b01020401040002240a0011130c010a01290020030c0b000107001117270a00380212002d000a0011190a01111a20031705190a00111b0b01111c20031e05210b00111d05230b00010205010400142c0a001113070a21030605090b000c02050e0b00111e0c010e010c020b020c030a031113070a21031a0b03010705111f27070a290620031f05290a030a0338030a0338040b03380512062d06052b0b03010206030001011a1c0b0011160c020b023c000c030a033700140a012603100b03010704270a033700140b01170a033600150b033700140207030001011a290b0011160c020b023c000c030a033701140a012603100b03010704270a033701140b01170a033601150a033700140a033701142503250b030107021121270b033701140208030001011a2e0b0011160c020b023c000c030a033701140a012603100b03010704270a033701140a01170a033601150a033700140a012603220b03010704270a033700140b01170a033600150b0337011402090104030001061b2a0a000a0111010a012900030b0b00010701112227070a3806200310051411240c030e0338070a00070a0a0238080a010a0235380901070a2a060c040b040f03380a0b0011130b010b021203380b020a01000201061e260a00290003060701112227070a380620030b050f11240c020e0238070e01380c0c03070a0b01380d0a000a0335380901070a2a060c040b040f03380a0a000b000b031203380b020b01000001030b002900020c030001011a210b0011160c020b023c000c030a033700140b01160a033600150a033700140a03370114240317051d0a033701140a033600150b03370014020d03000101202b0a0011160c030a033b000307051f0b033c000c040a043701140a01160a043601150a043700140b01160a043600150b043701140c0205290b00112b0c050e050a010a0139003f000b010c020b02020e00000001130a001113290620030605100a000a0038030a0038040b00380512062d0605120b0001020f010401000b0c0b0011130c030b032a000c020b020f000b01380e010210010402010623210a0011130c030a012900030a0b00010701270b030a0235380f010a010a0235380901070a2a060c040b040f04380a0b0011130b010b02120538100211010402010624220a0011130c020a022900030b0b000107011122270a020a0135380f0111240c040e040b020a013808070a2a060c030b030f05380a0b0011130b01120738110212010002010625230a0011130c030a032900030b0b000107011122270b030a0135380f0111240c050e050a0138120c02070a2a060c040b040f05380a0b0011130b01120738110b020200000101010006010600060201110211000000", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "vault", + "friends": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market" + ], + "exposed_functions": [ + { + "name": "add_authorized_trader", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "assert_trader_is_authorized_for_account", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "available_balance", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address" + ], + "return": [ + "u128" + ] + }, + { + "name": "balance", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address" + ], + "return": [ + "u128" + ] + }, + { + "name": "create_aux_account", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "create_vault", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "decrease_available_balance", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "decrease_unavailable_balance", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "decrease_user_balance", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "deposit", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address", + "u64" + ], + "return": [] + }, + { + "name": "deposit_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin" + ], + "return": [] + }, + { + "name": "has_aux_account", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "bool" + ] + }, + { + "name": "increase_available_balance", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "increase_user_balance", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "remove_authorized_trader", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "transfer", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address", + "u64" + ], + "return": [] + }, + { + "name": "withdraw", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "withdraw_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [ + "0x1::coin::Coin" + ] + } + ], + "structs": [ + { + "name": "AuxUserAccount", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "authorized_traders", + "type": "0x1::table::Table" + } + ] + }, + { + "name": "CoinBalance", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "balance", + "type": "u128" + }, + { + "name": "available_balance", + "type": "u128" + } + ] + }, + { + "name": "CoinInfo", + "is_native": false, + "abilities": [ + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "coin_type", + "type": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type" + }, + { + "name": "decimals", + "type": "u8" + }, + { + "name": "mark_price", + "type": "u64" + } + ] + }, + { + "name": "DepositEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "coinType", + "type": "0x1::string::String" + }, + { + "name": "depositor", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "amount_au", + "type": "u64" + } + ] + }, + { + "name": "Nothing", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "TransferEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "coinType", + "type": "0x1::string::String" + }, + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "amount_au", + "type": "u64" + } + ] + }, + { + "name": "Vault", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "transfer_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::TransferEvent>" + }, + { + "name": "deposit_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::DepositEvent>" + }, + { + "name": "withdraw_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::WithdrawEvent>" + } + ] + }, + { + "name": "WithdrawEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "coinType", + "type": "0x1::string::String" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "amount_au", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a0100100210060316990104af012e05dd01e50107c203c5030887074006c707a00110e708c4010cab0ace120000010101020103000400050006000701080401000100090001020000000a0203020000000b0001020000000c0203020000060d030500040e0307020000050f03070200000510030902000001110305010007120b0c000513030902000004140d0e0200000515030902000005160f0e0200000517030902000005180309020000021911030100011a03130100011b14130100031c151600061d160700061e150300011f1703010004200d0e02000005060508060806060706080a0a060b060c060d06070808100e080f080d0810091110120a0006160a16101706020605050b000109000b000109010303020b000109010b0001090003060c0303002a0101010103010103030303030404040304030303030303030303030303010101030303020303030303030102020900090101010209010900010301090002040401040805070b00010900070b0001090103030104040203030805070b00010900070b00010901010303030401090101060900050b000109000b000109000b000109010b0001090105010b0001090002060c0301060c010502050b0001090026010103030303030404040304030303030303030303030301010103030302030303030303030306726f7574657204636f696e056465627567067369676e657203616d6d0b636c6f625f6d61726b657403666565047574696c04436f696e18737761705f636f696e5f666f725f65786163745f636f696e24737761705f636f696e5f666f725f65786163745f636f696e5f776974685f7369676e657218737761705f65786163745f636f696e5f666f725f636f696e24737761705f65786163745f636f696e5f666f725f636f696e5f776974685f7369676e65721564656661756c745f74616b65725f6665655f6270730b706f6f6c5f6578697374730d6d61726b65745f657869737473086c6f745f73697a6508646563696d616c73036578700c6e5f6269645f6c6576656c731c737761705f636f696e5f666f725f65786163745f636f696e5f6d75740b626573745f6269645f617516706c6163655f6d61726b65745f6f726465725f6d75740c6e5f61736b5f6c6576656c730b626573745f61736b5f6175057072696e74047a65726f0877697468647261770a616464726573735f6f660a6665655f65786973747316696e697469616c697a655f6665655f64656661756c74076465706f7369741c737761705f65786163745f636f696e5f666f725f636f696e5f6d7574bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308c9000000000000000308ca000000000000000308c800000000000000030800000000000000800308030000000000000003080200000000000000030805000000000000000308040000000000000003080100000000000000030806000000000000000308650000000000000003086600000000000000030864000000000000000308ffffffffffffffff0308680000000000000003086700000000000000126170746f733a3a6d657461646174615f7630af010601000000000000000d455f554e535550504f5254454400020000000000000011455f494e56414c49445f4d494e5f4f555400030000000000000010455f494e5445524e414c5f4552524f520004000000000000000d455f544553545f4641494c45440005000000000000001a455f4d495353494e475f4155585f555345525f4143434f554e540006000000000000001d455f564f4c554d455f545241434b45525f554e52454749535445524544000001000004bb0311040c28380003050508080c05050a38010c050b050c2438020c2338030c220a240b221f031505d80138040c20320a00000000000000000000000000000038053511090c110600000000000000000c290600000000000000000c2b0a2b0a04230325052a0a290a03230c0a052c090c0a0b0a032f05cb013806060000000000000000210334054c0b000d010d020a030a29170a040a2b17093200000000000000000000000000000000320000000000000000000000000000000038070c1b0c170b290b1b160c290b2b0b17160c2b05cb0138080c160a163532102700000000000000000000000000000a2835171832102700000000000000000000000000001a0c150a040a2b17350a1135180a15351a340c0c0b0c0a202303690581010b000d010d020a030a29170a040a2b17093200000000000000000000000000000000320000000000000000000000000000000038070c1d0c190b290b1d160c290b2b0b19160c2b05cb010a000d010d020a030a29170a040a2b17080a110a153538070c1e0c1a0b290b1e160c290b2b0b1a160c2b0a2b0a0423039e0105a3010a290a03230c0b05a501090c0b0b0b03a80105ca010a040a2b17350a1135180b15351a340c0d0a000d010d0209070b0b16340b0d320000000000000000000000000000000038090c250c100b290b1034160c290b2b0b2534160c2b05200b290b032503d1010704270b2b0b042103d70107052705b8030a240a231f03dd0105f902380a0c21320a000000000000000000000000000000380b3511090c120600000000000000000c2a0600000000000000000c2c0a2c0a042303ed0105f2010a2a0a03230c0605f401090c060b0603f70105ec02380c0600000000000000002103fc0105ff01080c070585020a040a2c170a21230c070b0703880205a0020b000d010d020a030a2a170a040a2c17093200000000000000000000000000000000320000000000000000000000000000000038070c1c0c180b2a0b1c160c2a0b2c0b18160c2c05ec02380d0c140a143532102700000000000000000000000000000a2835161832102700000000000000000000000000001a0c130a000d010d020a030a2a170a040a2c17080b13350a1238070c2d0c2e0b2a0b2d160c2a0b2c0b2e160c2c0a2c0a042303c90205ce020a2a0a03230c0805d002090c080b0803d30205eb020a000d020d0108070b0b14340a040a2c173200000000000000000000000000000000380e0c260c0e0b2a0b2634160c2a0b2c0b0e34160c2c05e8010b2a0b032503f2020704270b2c0b042103f80207052705b8030b2403fc020588030b000d010d020b030b0409320000000000000000000000000000000032000000000000000000000000000000003807010105b8030b23038b0305b603060a1a0000000000000c090e09380f0a0335320a000000000000000000000000000000380b351109180a04351a340c1f0e1f380f0b000d020d0108070b070d0a043200000000000000000000000000000000380e0c270c0f0b0f340b042503af030704270b27340b032503b8030705270708270b020b010201010400122238100c050a000a0138110c030a0011130c070a07111420030e05110b00111505130b00010a070b030b050b010b0238120c040c060a070b0438130b070b063814020201000018950311040c22380003050508080c05050a38010c050b050c1e38020c1d38030c1c0a1e0a1c1f031505990138040c1a320a00000000000000000000000000000038053511090c0c0600000000000000000c230600000000000000000c250a230a03230325058c01380606000000000000000021032a052d080c0605330a030a23170a1a230c060b060336054c0b000d010d020a030a2317060000000000000000093200000000000000000000000000000000320000000000000000000000000000000038150c170c130b230b17160c230b250b13160c25058c0138080c110a113532102700000000000000000000000000000a2235171832102700000000000000000000000000001a0c100a000d010d020a030a2317060000000000000000080b10350a0c38150c270c290b230b27160c230b250b29160c250a230a03230373058b010a000d010d0209070b0b11340a030a2317320000000000000000000000000000000038090c1f0c0a0b230b0a34160c230b250b1f34160c2505200b230b03210392010704270b250b04260398010705270592030a1e0b1d1f039e0105d702380a0c1b320a000000000000000000000000000000380b3511090c0d0600000000000000000c240600000000000000000c260a240a032303ae0105ca02380c0600000000000000002103b30105c9010b000d010d020a030a2417060000000000000000093200000000000000000000000000000000320000000000000000000000000000000038150c190c140b240b19160c240b260b14160c2605ca02380d0c0f0a0f3532102700000000000000000000000000000a2235161832102700000000000000000000000000001a0c0e0a030a2417350a0d35180a0e351a340c070b070a1b2303e60105fc010b000d010d020a030a2417060000000000000000093200000000000000000000000000000000320000000000000000000000000000000038150c180c150b240b18160c240b260b15160c2605ca020a000d010d020a030a2417060000000000000000080a0d0a0e3538150c280c2a0b240b28160c240b260b2a160c260a240a032303970205c9020a030a2417350a0d35180b0e351a340c080a000d020d0108070b0b0f340a083200000000000000000000000000000000380e0c210c090a09340b082503b602061111000000000000270a21340a030a24172503bf02062222000000000000270b240b2134160c240b260b0934160c2605a9010b240b032103d0020704270b260b042603d6020705270592030b1e03da0205f4020b000d010d020a030a04093200000000000000000000000000000000320000000000000000000000000000000038150c160c120b16340b032103ec020704270b12340b042603f3020705270592030b1c03f7020590030b000d010d0209070b0600000000000000000a03320000000000000000000000000000000038090c200c0b0b0b340b03250389030704270b20340b04260392030705270708270b020b01020301040012220a000a0138110c0338100c050a0011130c070a07111420030e05110b00111505130b00010a070b030b050b010b0238160c040c060a070b0638140b070b0438130200", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "router", + "friends": [], + "exposed_functions": [ + { + "name": "swap_coin_for_exact_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin", + "0x1::coin::Coin", + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_coin_for_exact_coin_with_signer", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_coin_for_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin", + "0x1::coin::Coin", + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_exact_coin_for_coin_with_signer", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000e010004020418031ce5010481023c05bd02910307ce05d004089e0a4006de0a6e10cc0bfe010aca0d2f0bf90d040cfd0dcd160dca24180ee224100000010100020401000000030701000000040700011a040203010001000500010100000602030100000704040000080506000000070600000908090100000a0a0b0100000b0c040100000c0d040100000d0a040100000e00040100000f0a04010000100004010000110e0901000012040b0000130f0b01000014040b0000150f0b01000016090801040017000401000018000401000019090400001b10110100001c12090100001d02130100001e14090100001f1509010000201509010000211509010000220a040100002316090100012f191a02030001301c1d020300013120040203000109210902030001160921020304011d1c2b02030001322c090203001f18201821182218222208111f2217272122172819111a111c112322231811110c110f110a11212a242a252a131114111e2716271b111e281628202202060b0001090003020406090002070b00010900030204070900010301040102020404010b000109000001060b00010900010102060b000109000403060b00010900040303070b0001090004090003060b00010900030301070b030203090001090002070b030203090009000204090004070b0001090003030303070b00010900030303070b0302030900030301060b0101090002030b0101090002060b03020900090109000106090101070b0101090002070b030209000901090001070901020202020b0302030b010109000b030203080201060b030209000901010b03020900090102030802030103030303040608020203031a0403090003070b000109000403030403030403030b010109000301040403030203060802080203010b010109000108020501030303030203090001090103070b0302090009010900090120070b0001090003030304090003070b0001090003070b00010900030301070b00010900030303030101040303030306080203030608020303090006070b000109000303070b00010900030302090009000763726974626974117461626c655f776974685f6c656e6774680b437269746269745472656508446174614e6f646508547265654e6f64650f626f72726f775f61745f696e64657813626f72726f775f61745f696e6465785f6d757412636f6e766572745f646174615f696e64657813636f756e745f6c656164696e675f7a65726f730d64657374726f795f656d70747905656d7074790466696e641066696e645f636c6f736573745f6b65790d6765745f6d61785f696e646578126765745f6d61785f696e6465785f66726f6d0d6765745f6d696e5f696e646578126765745f6d696e5f696e6465785f66726f6d06696e736572740d69735f646174615f696e6465780d69735f6c6566745f6368696c640d69735f6e756c6c5f696e6465780e69735f72696768745f6368696c64036e65770d6e6578745f696e5f6f72646572156e6578745f696e5f726576657273655f6f72646572106e756c6c5f696e6465785f76616c75650f5461626c65576974684c656e67746808706f705f6261636b09707573685f6261636b0672656d6f76650d7265706c6163655f6368696c64127265706c6163655f6c6566745f6368696c640e7265706c6163655f706172656e74137265706c6163655f72696768745f6368696c640473697a65047377617004726f6f740474726565096d696e5f696e646578096d61785f696e64657807656e7472696573036b657906706172656e740576616c7565046d61736b0a6c6566745f6368696c640b72696768745f6368696c6406626f72726f770a626f72726f775f6d7574066c656e67746803616464bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541000000000000000000000000000000000000000000000000000000000000000103080700000000000000030806000000000000000308020000000000000003080800000000000000030805000000000000000308010000000000000003080400000000000000030803000000000000000308ffffffffffffff7f0308ffffffffffffffff03080000000000000080126170746f733a3a6d657461646174615f7630e90108010000000000000012455f494e56414c49445f415247554d454e540002000000000000000c455f454d5054595f5452454500030000000000000010455f545245455f4e4f545f454d50545900040000000000000013455f4b45595f414c52454144595f455849535400050000000000000014455f494e4445585f4f55545f4f465f52414e474500060000000000000017455f444154415f4e4f44455f4c41434b5f504152454e540007000000000000001b455f43414e4e4f545f44455354524f52595f4e4f4e5f454d50545900080000000000000011455f4558434545445f4341504143495459000002052403250b030203080226032703280b0302030b0101090001020329042a032b09000202042c042a032d032e030011011100010000170b0b0037000b0138000c020a023701140b02370202010100001b0b0b0036000b0138010c020a023701140b0236020202000000090407090b001702030000001e730a003200000000000000000000000000000000210305050831800c01057131000c020a00320000000000000000ffffffffffffffff1c320000000000000000000000000000000021031105190b0031402f0c000b023140160c020a0032000000000000000000000000ffffffff1c320000000000000000000000000000000021032005280b0031202f0c000b023120160c020a00320000000000000000000000000000ffff1c320000000000000000000000000000000021032f05370b0031102f0c000b023110160c020a0032000000000000000000000000000000ff1c320000000000000000000000000000000021033e05460b0031082f0c000b023108160c020a0032000000000000000000000000000000f01c320000000000000000000000000000000021034d05550b0031042f0c000b023104160c020a0032000000000000000000000000000000c01c320000000000000000000000000000000021035c05640b0031022f0c000b023102160c020b0032000000000000000000000000000000801c320000000000000000000000000000000021036b056f0b023101160c020b020c010b010204000000090931800b000b011d11031731011702050100001f140e00370038020600000000000000002103080700270b003a000c0101010c02010b0138030b023804020601000009060b003700380206000000000000000021020701000023240a000a010a0037031438050c040a04070a22030c05160b0037000a0438003701140b01210c02051a0b0001090c020b02031d05200b040c030522070a0c030b03020800000024300b020c030a03070a220307052c0a03110e030b05100b00010b031102020a0037040b0338060c050a051005140a011c0c040b040a0510051422032205270b051006140c03052b0b051007140c0305020b0001070a0209010000040c0b003705140c010a01070a22030a0702270b01020a00000025200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0338061007140c03050c0b00010b0311020c020b02020b010000040c0b003706140c010a01070a22030a0702270b01020c00000025200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0338061006140c03050c0b00010b0311020c020b02020d01000026f6010a010c030b020c050b03070a0b0539010c110a00370038020c100a1007082303150b00010703270a0036000b1138070a003703140c1c0a000a010b1c0c090c080c070b072e0b080b0938050c0d0a0d070a21032e05440a100600000000000000002103360b00010707270a1011020a003603150a100a003606150b100b00360515020a0037000b0d38003701140c0e0a0e0a012203530b00010706270b0e0a0111040c1832010000000000000000000000000000000b182f0c150a003703140c0f070a0c120a0f070a2203660593010a0f110e036a056b0593010a0037040a0f38060c1a0a150a1a100514240377057a0b1a010593010b0f0c120a1a1005140a011c0c140b140a1a10051422038901058e010b1a1006140c0f0592010b1a1007140c0f05610a150c0b0b0b070a070a070a12020c1b0a00370438080c190a0036040b1b38090a12070a2203a80105ae010a000b120a0f0a19380a05b2010a190a003603150a150a011c0b15220c130b1303bb0105c5010a000a190a101102380b0a000b190b0f380c05ce010a000a190a101102380c0a000b190b0f380b0a003706140c170a0037000b1738003701140a012403dc0105e0010a100a003606150a003705140c160a0037000b1638003701140b012303ee0105f3010b100b0036051505f5010b0001020e00000009040b00070a24020f00000009090b0037040b0238061006140b0121021001000009040b00070a21021100000009090b0037040b0238061007140b012102120100000907070a380d070a070a380e3900021301000029450a0111020c050a0037000b0138003707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a06380f0c020521090c020b020324052e0b060c050a0037040a053806100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06380610071438100c030b030c040b04021401000029450a0111020c050a0037000b0138003707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a0638110c020521090c020b020324052e0b060c050a0037040a053806100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06380610061438120c030b030c040b0402150100000902070a0216000000040a0a002e3813060100000000000000170c010b000b013814021700000004090a002e38130c020b000b020b01381502180100002dda020a00370038020c190a190a0124030c0b00010704270a003706140a01210313051e0a000a010c080c020b022e0b0838160a003606150a003705140a0121032505300a000a010c0a0c090b092e0b0a38170a003605150a0111020c100a0037000a0138003707140c1a0a1a070a22033f054c0a000a100a1a0c0d0c0c0c0b0b0b2e0b0c0b0d38110c0e054e090c0e0b0e0c150b19060100000000000000170c110a110a0122035905a2010a0037000a1138003707140c120a000a1111020a120c040c030c0f0b0f2e0b030b0438110c140a0036000a010a1138180b140375057a0a000b120b10380b057e0a000b120b10380c0a150381010587010a000a1a0a111102380b058c010a000a1a0a111102380c0a003705140a11210393010597010a010a003605150a003706140b1121039e0105a2010b010a003606150a00360038193a010c21010c160a00370038020600000000000000002103b00105d3010b1a070a2103b8010b00010707270a00370438080600000000000000002103c2010b0001070727070a0a00360315070a0a00360615070a0b003605150b160b210c070c0605d7020a1a070a2203db010b00010701270a0037040a1a38060c1b0b1503e30105e8010a1b1007140c0505ec010a1b1006140c050b050c1c0b1b100b140c130a13070a2103f7010580020a000a1c070a381a0b1c0a003603150585020a000b130a1a0b1c380a0a00370438080c200a200a1a240391020b00010704270b20060100000000000000170c1f0a1f0a1a22039a0205cf020a0036040a1f0a1a381b0a0037040a1a38060c1e0a1e1006140c170a1e1007140c1d0a1e100b140c180b1e100b14070a2203b70205bc020a000b180a1f0a1a380a0a000a1a0b17380b0a000a1a0b1d380c0a003703140b1f2103cb0205cf020b1a0a003603150b003604381c010b160b210c070c060b060b0702190000002e2f0a01070a220305052c0a000a020a010c060c050c040b042e0b050b06380f031205170b000b010b03380c052b0a000b020a010c090c080c070b072e0b080b093811032405290b000b010b03380b052b0b0001052e0b0001021a000000092c0a01070a21030505080b0001020a020a0036040a01381d0f06150a02070a22031405290a02110e031805210b010b0036000b021102380136071505280b010b0036040b02381d0f0b15052b0b0001021b00000009150a01110e0304050d0b020b0036000b011102380136071505140b020b0036040b01381d0f0b15021c000000092c0a01070a21030505080b0001020a020a0036040a01381d0f07150a02070a22031405290a02110e031805210b010b0036000b021102380136071505280b010b0036040b02381d0f0b15052b0b0001021d01000009040b0037003802021e0000002f110a000a0138140c030a000a0238140c040a000b020b0338150b000b010b0438150200040100010200000001020002020203000300020101020100110111021103110411081109110a1100", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "critbit", + "friends": [], + "exposed_functions": [ + { + "name": "borrow_at_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u64" + ], + "return": [ + "u128", + "&T0" + ] + }, + { + "name": "borrow_at_index_mut", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u64" + ], + "return": [ + "u128", + "&mut T0" + ] + }, + { + "name": "destroy_empty", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree" + ], + "return": [] + }, + { + "name": "empty", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree" + ], + "return": [ + "bool" + ] + }, + { + "name": "find", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u128" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_max_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_min_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree" + ], + "return": [ + "u64" + ] + }, + { + "name": "insert", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u128", + "T0" + ], + "return": [] + }, + { + "name": "is_null_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64" + ], + "return": [ + "bool" + ] + }, + { + "name": "new", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [ + "store" + ] + } + ], + "params": [], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree" + ] + }, + { + "name": "next_in_order", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "next_in_reverse_order", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "null_index_value", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "remove", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree", + "u64" + ], + "return": [ + "u128", + "T0" + ] + }, + { + "name": "size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree" + ], + "return": [ + "u64" + ] + } + ], + "structs": [ + { + "name": "CritbitTree", + "is_native": false, + "abilities": [ + "store" + ], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "root", + "type": "u64" + }, + { + "name": "tree", + "type": "0x1::table_with_length::TableWithLength" + }, + { + "name": "min_index", + "type": "u64" + }, + { + "name": "max_index", + "type": "u64" + }, + { + "name": "entries", + "type": "0x1::table_with_length::TableWithLength>" + } + ] + }, + { + "name": "DataNode", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "key", + "type": "u128" + }, + { + "name": "parent", + "type": "u64" + }, + { + "name": "value", + "type": "T0" + } + ] + }, + { + "name": "TreeNode", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "mask", + "type": "u128" + }, + { + "name": "parent", + "type": "u64" + }, + { + "name": "left_child", + "type": "u64" + }, + { + "name": "right_child", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000b0100020202040306a50105ab0157078202bf0308c1052006e1056510c606450a8b07070c9207fd120d8f1a0400000001070000020001000003020100000400010000050001000006000100000700010000080000000009020200000a020100000b010300000c000400000d000400000e010300000f0504000010010600001100040000120103000013070100001400010000150001000016020100001708010000180701000019000100001a090300001b080800001c030600001d080100001e080800001f0104000020090300002108080000220a01000208000800010800020800040104010101060800010202080002020404030404040004040404040e01010800080008000800080008000800020208000800020201010501040404040202020b04040404040404040404040775696e743235360755696e74323536036164640e6164645f756e6465726c79696e670b626974776973655f616e640a626974776973655f6f720b626974776973655f786f72066469766964650a6469766964655f6d6f64156469766964655f6d6f645f756e6465726c79696e67116469766964655f756e6465726c79696e6708646f776e6361737405657175616c07677265617465720268690769735f7a65726f0d6c656164696e675f7a65726f73046c657373026c6f036c7368036d6f64086d756c7469706c79136d756c7469706c795f756e6465726c79696e67036e65770372736808737562747261637419756e6465726c79696e675f6164645f706c75735f636172727919756e6465726c79696e675f6164645f776974685f636172727918756e6465726c79696e675f6c656164696e675f7a65726f7319756e6465726c79696e675f6d756c5f746f5f75696e7432353619756e6465726c79696e675f6d756c5f776974685f636172727913756e6465726c79696e675f6f766572666c6f771b756e6465726c79696e675f7375625f6d696e75735f626f72726f771a756e6465726c79696e675f7375625f776974685f626f72726f77047a65726fbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410308ea030000000000000308e9030000000000000201ff0410000000000000000000000000000000800201400410ffffffffffffffff00000000000000000410ffffffffffffffffffffffffffffffff02018004100000000000000000ffffffffffffffff126170746f733a3a6d657461646174615f76303102e9030000000000000a455f4f564552464c4f5700ea0300000000000012455f4449564953494f4e5f42595f5a45524f000002020e0412040001000009160e001000140e0110001411190c020c040e001001140e011001140b0211180c030b030b04120002010100000b130e001000140b0111190c040c050b050c020e001001140b04160c030b030b02120002020100000a100e001001140e011001141c0e001000140e011000141c120002030100000a100e001001140e011001141b0e001000140e011000141b120002040100000a100e001001140e011001141d0e001000140e011000141d1200020501000001070b000b011106010c020b0202060100000c94010e011001143200000000000000000000000000000000220307050a080c0205100e011000143200000000000000000000000000000000220c020b0203140700270a010a00110b0319051e11200a000c090c080591010a000a01110a0323052a32000000000000000000000000000000003201000000000000000000000000000000111511200c070c06058d010e00100114320000000000000000000000000000000021033105380e011001143200000000000000000000000000000000210c03053a090c030b03033d055232000000000000000000000000000000000e001000140e011000141a111532000000000000000000000000000000000e001000140e011000141911150c050c040589010a00110e0c0b0a01110e0c0c0b0c0b0b170c0f0b010a0f11110c0a0a000c0d3200000000000000000000000000000000320000000000000000000000000000000011150c0e0a0d0a0a110f20036c05780b0d0a0a11170c0d0b0e3200000000000000000000000000000000320100000000000000000000000000000011150a0f111111000c0e0a0f3100210385010b0a310111160c0a0b0f3101170c0f05660b0e0b0d0c050c040b040b050c070c060b060b070c090c080b080b090207010000000b0b0032000000000000000000000000000000000b01111511060c020c030b030b021109020801000001090b0032000000000000000000000000000000000b0111151106010c020b0202090100000a0a0a00111d2003060701270e00100014020a01000004160e001001140e0110011421030905120e001000140e01100014210c020514090c020b02020b0100000d240e001001140e01100114240309050c080c0305220e001001140e01100114210315051e0e001000140e01100014240c020520090c020b020c030b03020c0100000a040e00100114020d01000004140a001001143200000000000000000000000000000000210307050e0b001000143200000000000000000000000000000000210c0105120b0001090c010b01020e01000006160e001001143200000000000000000000000000000000210307050f07070e00100014111a160c0105140e00100114111a0c010b01020f0100000d240e001001140e01100114230309050c080c0305220e001001140e01100114210315051e0e001000140e01100014230c020520090c020b020c030b0302100100000a040e00100014021101000000360a0107022503060701270a01070726030b05160e001000140b010707172f320000000000000000000000000000000012000c0305340a01310021031b051e0a000c0205320e001001140a012f0e0010001407070a011730160e001000140b012f12000c020b020c030b03021201000001070b000b0111060c02010b0202130100000e350e001001143200000000000000000000000000000000210307050a080c0205100e011001143200000000000000000000000000000000210c020b0203140701270e001000140e01100014111c0c060c050b050c030e001000140e01100114180e001001140e0110001418160b06160c040b040b03120002140100000b150e001000140a01111c0c050c040b040c020e001001140b01180b05160c030b030b02120002150100000a040b000b011200021601000000360a0107022503060701270a01070726030b051632000000000000000000000000000000000e001001140b010707173012000c0305340a01310021031b051e0a000c0205320e001001140a01300e001000140a01300e0010011407070b01172f1612000c020b020c030b03021701000009160e001000140e01100014111f0c020c040e001001140e011001140b02111e0c030b030b04120002180000000a060b000b01160b02160219010000091b07060a00170c040a040a0123030905120b010b041732010000000000000000000000000000001732010000000000000000000000000000000c030c0205180b000b011632000000000000000000000000000000000c030c020b020b03021a0100000f730a003200000000000000000000000000000000210305050807070c01057131000c020a00320000000000000000ffffffffffffffff1c320000000000000000000000000000000021031105190b0031402f0c000b023140160c020a0032000000000000000000000000ffffffff1c320000000000000000000000000000000021032005280b0031202f0c000b023120160c020a00320000000000000000000000000000ffff1c320000000000000000000000000000000021032f05370b0031102f0c000b023110160c020a0032000000000000000000000000000000ff1c320000000000000000000000000000000021033e05460b0031082f0c000b023108160c020a0032000000000000000000000000000000f01c320000000000000000000000000000000021034d05550b0031042f0c000b023104160c020a0032000000000000000000000000000000c01c320000000000000000000000000000000021035c05640b0031022f0c000b023102160c020b0032000000000000000000000000000000801c320000000000000000000000000000000021036b056f0b023101160c020b020c010b01021b01000008090b000b01111c0c020c030b020b031115021c01000010430a0007081c0704300c070b0007051c0c090a0107081c0704300c0b0b0107051c0c0c0a070a0c180c080a090a0b180c0a0b090b0c180a0807051c07042f11190c050c030b030a0a07051c07042f11190c060c040b070b0b180b08070430160b0a070430160b05160b06160c020b040b02021d0100000a060e00100114320000000000000000000000000000000022021e0000000a060b000b01170b0217021f01000008190a000a01230305051007060b01173201000000000000000000000000000000160b001632010000000000000000000000000000000c030c0205160b000b011732000000000000000000000000000000000c030c020b020b0302200100000a04320000000000000000000000000000000032000000000000000000000000000000001200020001000000", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "uint256", + "friends": [], + "exposed_functions": [ + { + "name": "add", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "add_underlying", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u128" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "bitwise_and", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "bitwise_or", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "bitwise_xor", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "divide", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "divide_mod", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "divide_mod_underlying", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u128" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u128" + ] + }, + { + "name": "divide_underlying", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u128" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "downcast", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "u128" + ] + }, + { + "name": "equal", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "bool" + ] + }, + { + "name": "greater", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "bool" + ] + }, + { + "name": "hi", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "u128" + ] + }, + { + "name": "is_zero", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "bool" + ] + }, + { + "name": "leading_zeros", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "u8" + ] + }, + { + "name": "less", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "bool" + ] + }, + { + "name": "lo", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "u128" + ] + }, + { + "name": "lsh", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u8" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "mod", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "multiply", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "multiply_underlying", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u128" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "new", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "rsh", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "u8" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "subtract", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "underlying_add_with_carry", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128", + "u128" + ] + }, + { + "name": "underlying_leading_zeros", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128" + ], + "return": [ + "u8" + ] + }, + { + "name": "underlying_mul_to_uint256", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + }, + { + "name": "underlying_mul_with_carry", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128", + "u128" + ] + }, + { + "name": "underlying_overflow", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ], + "return": [ + "bool" + ] + }, + { + "name": "underlying_sub_with_borrow", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128", + "u128" + ] + }, + { + "name": "zero", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256" + ] + } + ], + "structs": [ + { + "name": "Uint256", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "hi", + "type": "u128" + }, + { + "name": "lo", + "type": "u128" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a01000a020a04030e3c044a0a05541f0773ca0108bd024006fd02120a8f03050c94036900000101010201030004000500000006000100000700010000080201000009000100010b01040100020c05010100030d000600010e06040100020f00010100041000080002080201010004030503070308030a0301060c0003060c0503010800010105060c0a020a0202010105020c060c010c086175785f636f696e04636f696e0c6d616e616765645f636f696e067369676e657209617574686f7269747907417578436f696e0b696e69745f6d6f64756c6513696e697469616c697a655f6175785f636f696e046d696e741072656769737465725f6163636f756e740b64756d6d795f6669656c641369735f636f696e5f696e697469616c697a65640a696e697469616c697a650a616464726573735f6f661569735f6163636f756e745f726567697374657265640872656769737465720a6765745f7369676e6572bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010a020807417578436f696e0a0204034155580002010a010000000001163800200304050a0a000700070131060838010a001106380220031005130b00380305150b00010201010400070c0b0011090c010e010c020b02070007013106083801020201040008080b0011090c030e030b010b023804020301040001030b0038030200", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "aux_coin", + "friends": [], + "exposed_functions": [ + { + "name": "initialize_aux_coin", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "mint", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address", + "u64" + ], + "return": [] + }, + { + "name": "register_account", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + } + ], + "structs": [ + { + "name": "AuxCoin", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000c010008020808031028053822075aad020887036006e7034010a704660a8d05080c9505e8010dfd06040f81070c0006010701080209000a080001100600000b000100000c020100000d000200000e000300021200050001130601000314050300031500080001060c010c000101020608000c01050106080105010c05080105020508010106080003616d6d086175785f636f696e0b636c6f625f6d61726b65740966616b655f636f696e06726f75746572057661756c7409617574686f72697479076163636f756e74067369676e6572086465706c6f79657209417574686f726974790a6765745f7369676e65720f6765745f7369676e65725f73656c660b696e69745f6d6f64756c650f69735f7369676e65725f6f776e6572117369676e65725f6361706162696c697479105369676e65724361706162696c6974790d6f776e65725f616464726573730a616464726573735f6f661d6372656174655f7369676e65725f776974685f6361706162696c6974791e7265736f757263655f6163636f756e745f7369676e65725f6578697374732072657472696576655f7265736f757263655f6163636f756e745f7369676e6572bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000015a5e124ea1f3fc5fcfae3c198765c3b4c8d72c7236ae97ef6e5a9bc7cfda549c0308ea030000000000000308eb030000000000000308e9030000000000000520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541126170746f733a3a6d657461646174615f76305203e90300000000000011455f4e4f545f53454c465f5349474e454400ea0300000000000017455f43414e4e4f545f5349474e5f464f525f4f5448455200eb030000000000000b455f4e4f545f4f574e4552000002020f08011105000100010004220703290003070b000107022707032b000c010b0011040a011000142103150b01010701270b01100111050c020e02110407032103200700270b02020103000100041507032900030507022707032b000c000b00100111050c010e01110407032103130700270b010202000000072b0a0011040c050a052900200308050c0b0511060c01050e090c010b01031105280a0011070c040c030e0411050c020a0011040e0211042103220b00010700270b000b040b0312002d00052a0b000102030300010009110703290003070b000107022707032b000c010b0011040b0110001421020001000000000001000200030004000500", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "authority", + "friends": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::aux_coin", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::router", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault" + ], + "exposed_functions": [ + { + "name": "get_signer", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [ + "signer" + ] + }, + { + "name": "get_signer_self", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "signer" + ] + }, + { + "name": "is_signer_owner", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [ + "bool" + ] + } + ], + "structs": [ + { + "name": "Authority", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "signer_capability", + "type": "0x1::account::SignerCapability" + }, + { + "name": "owner_address", + "type": "address" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000e0100020202100312a20104b4011605ca019c0207e603830408e907200689086e10f708fe010af50a290b9e0b040ca20b92160db421180ecc2110000000010701000000020701000000030700000400010100000502030100000604040000070506000008070600000908090100000a0a0b0100000b0c040100000c0d040100000d0a040100000e00040100000f0a04010000100004010000110e0901000012040b0000130f0b01000014040b0000150f0b01000016090801000017000401000018000401000019090400001a02100100001b11090100001c12090100001d12090100001e12090100001f0a0401000814171418141a1411140c140f140a1413141414191402060b0001090003020406090002070b00010900030204070900010301040102020404010b000109000001060b00010900010102060b000109000403060b00010900040303070b0001090004090003060b0001090003030204090004070b0001090003030303070b00010900030301060b01010900010900010b0101090001070b01010900020202020a0b010109000a0802010802030103030303040608020203031a0403090003070b000109000403030403030403030b01010900030104040303020306080208020305010303030320070b0001090003030304090003070b0001090003070b00010900030301070b00010900030303030101040303030306080203030608020303090006070b000109000303070b00010900030309637269746269745f760b437269746269745472656508446174614e6f646508547265654e6f64650f626f72726f775f61745f696e64657813626f72726f775f61745f696e6465785f6d757412636f6e766572745f646174615f696e64657813636f756e745f6c656164696e675f7a65726f7307637269746269740d64657374726f795f656d70747905656d7074790466696e641066696e645f636c6f736573745f6b65790d6765745f6d61785f696e646578126765745f6d61785f696e6465785f66726f6d0d6765745f6d696e5f696e646578126765745f6d696e5f696e6465785f66726f6d06696e736572740d69735f646174615f696e6465780d69735f6c6566745f6368696c640d69735f6e756c6c5f696e6465780e69735f72696768745f6368696c64036e65770d6e6578745f696e5f6f72646572156e6578745f696e5f726576657273655f6f72646572106e756c6c5f696e6465785f76616c75650672656d6f76650d7265706c6163655f6368696c64127265706c6163655f6c6566745f6368696c640e7265706c6163655f706172656e74137265706c6163655f72696768745f6368696c640473697a6504726f6f740474726565096d696e5f696e646578096d61785f696e64657807656e7472696573036b657906706172656e740576616c7565046d61736b0a6c6566745f6368696c640b72696768745f6368696c64bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54103080700000000000000030806000000000000000308020000000000000003080800000000000000030805000000000000000308010000000000000003080400000000000000030803000000000000000308ffffffffffffff7f0308ffffffffffffffff03080000000000000080126170746f733a3a6d657461646174615f7630e90108010000000000000012455f494e56414c49445f415247554d454e540002000000000000000c455f454d5054595f5452454500030000000000000010455f545245455f4e4f545f454d50545900040000000000000013455f4b45595f414c52454144595f455849535400050000000000000014455f494e4445585f4f55545f4f465f52414e474500060000000000000017455f444154415f4e4f44455f4c41434b5f504152454e540007000000000000001b455f43414e4e4f545f44455354524f52595f4e4f4e5f454d50545900080000000000000011455f4558434545445f4341504143495459000002052003210a080222032303240a0b01010900010203250426032709000202042804260329032a030014011400010000130b0b0037000b0142150c020a023701140b0237020201010000160b0b0036000b0143150c020a023701140b0236020202000000090407090b0017020300000017730a003200000000000000000000000000000000210305050831800c01057131000c020a00320000000000000000ffffffffffffffff1c320000000000000000000000000000000021031105190b0031402f0c000b023140160c020a0032000000000000000000000000ffffffff1c320000000000000000000000000000000021032005280b0031202f0c000b023120160c020a00320000000000000000000000000000ffff1c320000000000000000000000000000000021032f05370b0031102f0c000b023110160c020a0032000000000000000000000000000000ff1c320000000000000000000000000000000021033e05460b0031082f0c000b023108160c020a0032000000000000000000000000000000f01c320000000000000000000000000000000021034d05550b0031042f0c000b023104160c020a0032000000000000000000000000000000c01c320000000000000000000000000000000021035c05640b0031022f0c000b023102160c020b0032000000000000000000000000000000801c320000000000000000000000000000000021036b056f0b023101160c020b020c010b010204000000090931800b000b011d110317310117020501000018140e00370041150600000000000000002103080700270b003a000c0101010c02010b01461500000000000000000b0246190000000000000000020601000009060b00370041150600000000000000002102070100001a240a000a010a0037031438000c040a04070a22030c05160b0037000a0442153701140b01210c02051a0b0001090c020b02031d05200b040c030522070a0c030b0302080000001b300b020c030a03070a220307052c0a03110e030b05100b00010b031102020a0037040b0342190c050a051005140a011c0c040b040a0510051422032205270b051006140c03052b0b051007140c0305020b0001070a0209010000040c0b003705140c010a01070a22030a0702270b01020a0000001c200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0342191007140c03050c0b00010b0311020c020b02020b010000040c0b003706140c010a01070a22030a0702270b01020c0000001c200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0342191006140c03050c0b00010b0311020c020b02020d0100001df6010a010c030b020c050b03070a0b0539010c110a00370041150c100a1007082303150b00010703270a0036000b1144150a003703140c1c0a000a010b1c0c090c080c070b072e0b080b0938000c0d0a0d070a21032e05440a100600000000000000002103360b00010707270a1011020a003603150a100a003606150b100b00360515020a0037000b0d42153701140c0e0a0e0a012203530b00010706270b0e0a0111040c1832010000000000000000000000000000000b182f0c150a003703140c0f070a0c120a0f070a2203660593010a0f110e036a056b0593010a0037040a0f42190c1a0a150a1a100514240377057a0b1a010593010b0f0c120a1a1005140a011c0c140b140a1a10051422038901058e010b1a1006140c0f0592010b1a1007140c0f05610a150c0b0b0b070a070a070a12020c1b0a00370441190c190a0036040b1b44190a12070a2203a80105ae010a000b120a0f0a19380105b2010a190a003603150a150a011c0b15220c130b1303bb0105c5010a000a190a10110238020a000b190b0f380305ce010a000a190a10110238030a000b190b0f38020a003706140c170a0037000b1742153701140a012403dc0105e0010a100a003606150a003705140c160a0037000b1642153701140b012303ee0105f3010b100b0036051505f5010b0001020e00000009040b00070a24020f00000009090b0037040b0242191006140b0121021001000009040b00070a21021100000009090b0037040b0242191007140b012102120100000907070a40190000000000000000070a070a40150000000000000000390002130100001e450a0111020c050a0037000b0142153707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a0638040c020521090c020b020324052e0b060c050a0037040a054219100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06421910071438050c030b030c040b0402140100001e450a0111020c050a0037000b0142153707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a0638060c020521090c020b020324052e0b060c050a0037040a054219100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06421910061438070c030b030c040b0402150100000902070a02160100001fda020a00370041150c190a190a0124030c0b00010704270a003706140a01210313051e0a000a010c080c020b022e0b0838080a003606150a003705140a0121032505300a000a010c0a0c090b092e0b0a38090a003605150a0111020c100a0037000a0142153707140c1a0a1a070a22033f054c0a000a100a1a0c0d0c0c0c0b0b0b2e0b0c0b0d38060c0e054e090c0e0b0e0c150b19060100000000000000170c110a110a0122035905a2010a0037000a1142153707140c120a000a1111020a120c040c030c0f0b0f2e0b030b0438060c140a0036000a010a1147150b140375057a0a000b120b103802057e0a000b120b1038030a150381010587010a000a1a0a1111023802058c010a000a1a0a11110238030a003705140a11210393010597010a010a003605150a003706140b1121039e0105a2010b010a003606150a00360045153a010c21010c160a00370041150600000000000000002103b00105d3010b1a070a2103b8010b00010707270a00370441190600000000000000002103c2010b0001070727070a0a00360315070a0a00360615070a0b003605150b160b210c070c0605d7020a1a070a2203db010b00010701270a0037040a1a42190c1b0b1503e30105e8010a1b1007140c0505ec010a1b1006140c050b050c1c0b1b100b140c130a13070a2103f7010580020a000a1c070a380a0b1c0a003603150585020a000b130a1a0b1c38010a00370441190c200a200a1a240391020b00010704270b20060100000000000000170c1f0a1f0a1a22039a0205cf020a0036040a1f0a1a47190a0037040a1a42190c1e0a1e1006140c170a1e1007140c1d0a1e100b140c180b1e100b14070a2203b70205bc020a000b180a1f0a1a38010a000a1a0b1738020a000a1a0b1d38030a003703140b1f2103cb0205cf020b1a0a003603150b0036044519010b160b210c070c060b060b070217000000202f0a01070a220305052c0a000a020a010c060c050c040b042e0b050b063804031205170b000b010b033803052b0a000b020a010c090c080c070b072e0b080b093806032405290b000b010b033802052b0b0001052e0b00010218000000092c0a01070a21030505080b0001020a020a0036040a0143190f06150a02070a22031405290a02110e031805210b010b0036000b021102431536071505280b010b0036040b0243190f0b15052b0b0001021900000009150a01110e0304050d0b020b0036000b011102431536071505140b020b0036040b0143190f0b15021a000000092c0a01070a21030505080b0001020a020a0036040a0143190f07150a02070a22031405290a02110e031805210b010b0036000b021102431536071505280b010b0036040b0243190f0b15052b0b0001021b01000009040b00370041150200040100010200000001020002020203000300020101020100140114021403140414081409140a1400", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "critbit_v", + "friends": [], + "exposed_functions": [ + { + "name": "borrow_at_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u64" + ], + "return": [ + "u128", + "&T0" + ] + }, + { + "name": "borrow_at_index_mut", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u64" + ], + "return": [ + "u128", + "&mut T0" + ] + }, + { + "name": "destroy_empty", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree" + ], + "return": [] + }, + { + "name": "empty", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree" + ], + "return": [ + "bool" + ] + }, + { + "name": "find", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u128" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_max_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_min_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree" + ], + "return": [ + "u64" + ] + }, + { + "name": "insert", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u128", + "T0" + ], + "return": [] + }, + { + "name": "is_null_index", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64" + ], + "return": [ + "bool" + ] + }, + { + "name": "new", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree" + ] + }, + { + "name": "next_in_order", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "next_in_reverse_order", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "null_index_value", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "remove", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree", + "u64" + ], + "return": [ + "u128", + "T0" + ] + }, + { + "name": "size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree" + ], + "return": [ + "u64" + ] + } + ], + "structs": [ + { + "name": "CritbitTree", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "root", + "type": "u64" + }, + { + "name": "tree", + "type": "vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::TreeNode>" + }, + { + "name": "min_index", + "type": "u64" + }, + { + "name": "max_index", + "type": "u64" + }, + { + "name": "entries", + "type": "vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::DataNode>" + } + ] + }, + { + "name": "DataNode", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "key", + "type": "u128" + }, + { + "name": "parent", + "type": "u64" + }, + { + "name": "value", + "type": "T0" + } + ] + }, + { + "name": "TreeNode", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "mask", + "type": "u128" + }, + { + "name": "parent", + "type": "u64" + }, + { + "name": "left_child", + "type": "u64" + }, + { + "name": "right_child", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a01000a020a1e032857047f1c059b014607e101e60108c7034006870494010a9b05230cbe05f6010000010101020103000400050000000600000007000000080001000100090000000a0000000b0000000c00010100000d020100000e03010100000f0001010000100201010000110001010004130105000314020700011509010100020c00010100011601100100020e11010100011707100100021002010100020f09010100040608080908020a020b020c020d020e020f0a080b080c080d080e0802060c030001060c04060c020a020a02020c060c010c0109000105010b0301090003060c0503010805010806010801010802010804010800010105060c0a020a020201020c050966616b655f636f696e04636f696e0c6d616e616765645f636f696e067369676e657209617574686f726974790341555803425443034554480846616b65436f696e03534f4c04555344430455534454046275726e0b696e69745f6d6f64756c650a696e697469616c697a65046d696e740872656769737465721172656769737465725f616e645f6d696e740b64756d6d795f6669656c640f6765745f7369676e65725f73656c660a616464726573735f6f66087472616e736665721369735f636f696e5f696e697469616c697a65641569735f6163636f756e745f72656769737465726564bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010a020f0e46616b6520436f696e20555344430a020504555344430a020f0e46616b6520436f696e20555344540a020504555344540a020e0d46616b6520436f696e204254430a0204034254430a020e0d46616b6520436f696e204554480a0204034554480a020e0d46616b6520436f696e20534f4c0a020403534f4c0a020e0d46616b6520436f696e204155580a020403415558000201120101020112010202011201030201120104020112010502011201060201120100010400040f11060c020e020c030a0338000b000a0311070a0138010b030b0138020201000000011f0a0031060700070138030a0031060702070338040a0031080704070538050a0031080706070738060a0031080708070938070b003106070a070b3808020200000001163809200304050a0a000b020b030b0108380a0a001107380b20031005130b00380c05150b00010203010400120a0b0011070c0311060c020e020b030b01380d0204010400070e0a0011070c010b01380b200308050b0b00380c050d0b0001020501040012140a0011070c030a03380b200308050b0b00380c050d0b000111060c020e020b030b01380d0200", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "fake_coin", + "friends": [], + "exposed_functions": [ + { + "name": "burn", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "mint", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "register", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "register_and_mint", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + } + ], + "structs": [ + { + "name": "AUX", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "BTC", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "ETH", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "FakeCoin", + "is_native": false, + "abilities": [], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "SOL", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "USDC", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "USDT", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000f01002002206d038d01d30404e005b001059007a90a07b911b01008e9214006a9228f0410b826e5090a9d30eb010b8832080c9032f3410d8374420ec5741a0fdf7402000101020103010401050106010700080009000a000b000c000d000e000f001000110600001208020001000100130600001406000015040000160802000100010017080200010001001808020001000100190600001a0600001b0600001c0400001d0600001e0600001f0600032c04010601023d040100010a4d07010000094d04010000066f0700088601000000200001020000002102010200000022000102000000230201020000002403000200000025040002000000260500020000002706070000280800000029070000002a0900020000002b0a0b020000002d0c0d020000002e0e00020000002f0f10020000003011000200000031120002000000321200020000003312000200000034030002000000350001020000003600130200000037140d0200000038000102000000390001020000003a150d020000003b1613020000003c1713020000003e1819020000003f1a0d02000000401b0002000000411c0002000000421c0002000000430d010100004400010200000045050002000009651f01010009661f01010009672021010009681f0101000e690300000e6a2313000c6b232300056c000100096d25260100096e280101000670002b0100047112230006722d230007731213000274002e01000d752f0b0007760030000f772313000f781200000f79231301000f7a23000100097b00310104017c123301060a7d370001000b7e3a01000b7f3a01000e80013b0b01000e81013b0b01000e82013b0b01000e83013b0b01000d84010d01000385013c0001060587010001000f88013e0001000e89013b0b01000c8a01233000098b0140000100098c01254201000a6e430101000a6d442601000a7b003701000a8b01460001000a654a0101000a674c210100098d0120010100098e0120010100098f011f1301000a664a0101000a8c01444201000b90012313000a8e014c010100029101575801000292012313010002930112000100029401590001000295015a5801000296015b000100011d240825082608031d2708151d24242c240e1d201d2d2426241f1d2e2a2e2c322a322c372c382c39083a323a343a353b07212a3e2c3f2a402c412c3e2a4332403d413d452c462c462a463d4335392448242d0849084a074b072c084c074d0748083a484e074f075008510843483a4e3a4f434e131d434f5208530743340c1d54070b1d56071a1d1b1d161d0d1d0f1d1d1d191d572c582c592c5a2c5b2a5c2a572a582a592a5a2a5b2c5c2c412a402a00010301060b05020900090102060c0503060c050403060c03030a0404030303010503030301080b01080405060c0504030102070b05020900090103010405070b0f01080d06080b06080b030402030303070b05020900090106080b0505070b0502090009010405030102080b0102070b050209000901080b01060c010104070b05020900090107080b03030c070b050209000901050103030303040301030304060b05020900090107080b030103060b05020900090107080b0308050b100109000b100109010103030304020b100109000b100109010805070b10010900070b1001090101030303040c060c050103030304030301030304080b0304070b0f01080c0209000901020306080401060b1201090002060b120109000302040609000c010104070b05020900090103070b07020900090105080b04030503010501080902070b1201090003020409000c060809080b060104070b050209000901060b0702090009010503060305010302060b120109000414010b0f01080c0b0f01080e060c020203030b120108040b12010804030b0f01080d020408130c0208130505010900010813010901010608130102020404010c010b1201090001080d010b0f01090001080c01080e010b1101080b010b1101090006080b04070b0502090009010501032a03010304070b0f01080d0405030303030303010304070b0f01080d010405030303030304050303070b07020900090105030303050503010403030302050302050402070b0f0109000900010814030503031604010304070b12010809050303010304070b0f01080e0c04070b0702090009010504050303030303070b1201090004090009070b12010804070b1201080404070804080403080b03070b12010804020407090002060b110109000402070b11010900030b070b12010804070b12010804040b1101080b040308040708040304070b1201080403070b110109000409000e08000303060804060804060b05020900090106080b06080b03030a08080a0808060b12010804060b12010804010800010a080801060b1101090001080802060b11010900030803030802060804060804060b050209000901060b12010804060b1201080401080201080a0108030e060b120108040306080403060b05020900090103060b07020900090105080a06080b0403060809060b1201080435070b120108040303040304050303040103070b0f01080d07080b06080b0304070b0f01080d07080b06080b0303040101010104050303080b080b03080c080c080b0708040804030406080b07080b03080b0303030303070b12010804030354070b1201080401070b12010804030101010104050304030403070b0f01080c04050303040503070b0f01080c070b1201080403070b12010804030304050303030403070b0f01080c070b05020900090107080b0301010103070b05020900090107080b03010104050303040403070b0f01080c040503030403070b0f01080c03070b0f01080c030301080b030306080407080403080b040306080b0303070b1201080403030703030303030303040303030312010c01010b100109000b100109000303070b050209000901060c0b100109010b1001090103050303030502070b1001090003010b1001090002050b1001090002060c0302070b100109000b100109000701010103070b050209000901030502070b070209000901030b0405030304030303080c0404210101010406080406080408040708040804080407080408040303070b050209000901030303030303010404080b080b06080b080b06080b080b03030306726f757465720b636c6f625f6d61726b6574076163636f756e7404636f696e056576656e74067369676e65720974696d657374616d7009747970655f696e666f09617574686f72697479086175785f636f696e076372697462697409637269746269745f76036665650e6f6e636861696e5f7369676e6572047574696c057661756c740e766f6c756d655f747261636b65720e416c6c4f72646572734576656e740e416c6c4f726465727353746f7265074c324576656e74074c3251756f7465054c6576656c064d61726b65740f4d61726b65744461746153746f7265104f70656e4f726465724163636f756e74124f70656e4f726465724576656e74496e666f0d4f70656e4f72646572496e666f0f4f70656e4f72646572734576656e74054f72646572104f7264657243616e63656c4576656e740e4f7264657246696c6c4576656e74104f72646572506c616365644576656e740b626573745f61736b5f61750e626573745f61736b5f70726963650b626573745f6269645f61750e626573745f6269645f70726963650a63616e63656c5f616c6c0c63616e63656c5f6f726465720d6372656174655f6d61726b65740c6372656174655f6f726465721364657374726f795f656d7074795f6c6576656c0d64657374726f795f6f7264657211666173745f63616e63656c5f6f726465721167656e65726174655f6f726465725f69640b4576656e7448616e646c650b68616e646c655f66696c6c1368616e646c655f706c616365645f6f7264657212696e6e65725f63616e63656c5f6f726465720c696e736572745f6f726465721a6c6f61645f616c6c5f6f72646572735f696e746f5f6576656e74166c6f61645f6d61726b65745f696e746f5f6576656e741b6c6f61645f6f70656e5f6f72646572735f696e746f5f6576656e74276c6f61645f6f70656e5f6f72646572735f696e746f5f6576656e745f666f725f61646472657373086c6f745f73697a650d6d61726b65745f657869737473056d617463680c6e5f61736b5f6c6576656c730c6e5f6269645f6c6576656c73096e65775f6f726465721c6f726465725f70726963655f776f7273655f7468616e5f6c696d69740f6f726465725f77696c6c5f66696c6c04436f696e12706c6163655f6d61726b65745f6f7264657216706c6163655f6d61726b65745f6f726465725f6d75740b706c6163655f6f726465721470726f636573735f63616e63656c5f6f726465722970726f636573735f63616e63656c5f776974686f75745f6f70656e5f6f726465725f6163636f756e740971756f74655f717479097469636b5f73697a65177570646174655f6d61726b65745f706172616d6574657204626964730461736b7310616c6c5f6f726465735f6576656e7473057072696365087175616e746974790e746f74616c5f7175616e74697479066f72646572730b43726974626974547265650d6e6578745f6f726465725f69640d626173655f646563696d616c730e71756f74655f646563696d616c730b66696c6c5f6576656e74730d63616e63656c5f6576656e74730d706c616365645f6576656e7473096c325f6576656e7473126f70656e5f6f72646572735f6576656e74730b6f70656e5f6f72646572730269640f636c69656e745f6f726465725f6964166175785f61755f746f5f6275726e5f7065725f6c6f740669735f626964086f776e65725f69641174696d656f75745f74696d657374616d700a6f726465725f74797065086f726465725f6964056f776e65720a63616e63656c5f71747908626173655f717479067265626174650d72656d61696e696e675f717479037174790473697a650d6765745f6d696e5f696e6465780f626f72726f775f61745f696e6465780d6765745f6d61785f696e646578276173736572745f7472616465725f69735f617574686f72697a65645f666f725f6163636f756e740f6861735f6175785f6163636f756e74126765745f7369676e65725f61646472657373106e6f775f6d6963726f7365636f6e64730672656d6f76650466696e640854797065496e666f07747970655f6f660a616464726573735f6f660f6163636f756e745f616464726573730f69735f7369676e65725f6f776e657208646563696d616c73036578700f6765745f7369676e65725f73656c6620676c6f62616c5f766f6c756d655f747261636b65725f726567697374657265641e72656769737465725f676c6f62616c5f766f6c756d655f747261636b65721669735f636f696e5f766f6c756d655f747261636b65641e72656769737465725f636f696e5f666f725f766f6c756d655f747261636b036e6577106e65775f6576656e745f68616e646c650d64657374726f795f656d7074790974616b65725f6665650c6d616b65725f72656261746515696e6372656173655f757365725f62616c616e63651c64656372656173655f756e617661696c61626c655f62616c616e63651a696e6372656173655f617661696c61626c655f62616c616e63651564656372656173655f757365725f62616c616e6365097375625f6d696e5f300a656d69745f6576656e7407417578436f696e0b6e6f775f7365636f6e6473157570646174655f766f6c756d655f747261636b65721a64656372656173655f617661696c61626c655f62616c616e63650a6765745f7369676e657206696e7365727413626f72726f775f61745f696e6465785f6d7574156e6578745f696e5f726576657273655f6f726465720d6e6578745f696e5f6f7264657205656d7074790a6665655f65786973747307657874726163741569735f6163636f756e745f72656769737465726564087265676973746572076465706f736974087769746864726177056d65726765bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308c9000000000000000308ca00000000000000030800e1f505000000000308c8000000000000000308000000000000008003081f000000000000000308130000000000000003081000000000000000030806000000000000000308050000000000000003080900000000000000030814000000000000000308150000000000000003081700000000000000030816000000000000000308190000000000000003080c000000000000000308070000000000000003081a000000000000000308210000000000000003082000000000000000030802000000000000000308040000000000000003082600000000000000030803000000000000000308180000000000000003081b0000000000000003081c000000000000000308230000000000000003080100000000000000030811000000000000000308220000000000000003081d000000000000000308080000000000000003080a0000000000000003082500000000000000030824000000000000000308120000000000000003080b0000000000000003080e0000000000000003081e0000000000000003080d0000000000000003080f000000000000000308650000000000000003086600000000000000030864000000000000000308ffffffffffffffff03086800000000000000030867000000000000000101010520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541126170746f733a3a6d657461646174615f7630d00926010000000000000029455f4f4e4c595f4d4f44554c455f5055424c49534845525f43414e5f4352454154455f4d41524b455400020000000000000017455f4d41524b45545f414c52454144595f4558495354530003000000000000001a455f4d495353494e475f4155585f555345525f4143434f554e5400040000000000000017455f4d41524b45545f444f45535f4e4f545f455849535400050000000000000016455f494e53554646494349454e545f42414c414e43450006000000000000001a455f494e53554646494349454e545f4155585f42414c414e43450007000000000000000f455f494e56414c49445f53544154450008000000000000000e455f544553545f4641494c55524500090000000000000018455f494e53554646494349454e545f4c4951554944495459000a000000000000001d455f554e41424c455f544f5f46494c4c5f4d41524b45545f4f52444552000b000000000000000d455f554e524541434841424c45000c000000000000001b455f494e56414c49445f524f555445525f4f524445525f54595045000d000000000000001a455f555345525f4645455f4e4f545f494e495449414c495a4544000e000000000000000d455f554e535550504f52544544000f000000000000001d455f564f4c554d455f545241434b45525f554e5245474953544552454400100000000000000013455f4645455f554e494e495449414c495a454400110000000000000011455f4f524445525f4e4f545f464f554e4400120000000000000015455f554e494d504c454d454e5445445f4552524f5200130000000000000012455f4641494c45445f494e56415249414e5400140000000000000012455f494e56414c49445f415247554d454e5400150000000000000012455f494e56414c49445f4f524445525f494400160000000000000012455f494e56414c49445f5155414e544954590017000000000000000f455f494e56414c49445f505249434500180000000000000011455f4e4f545f4f524445525f4f574e455200190000000000000018455f494e56414c49445f51554f54455f5155414e54495459001a000000000000001a455f494e56414c49445f5449434b5f4f525f4c4f545f53495a45001b0000000000000011455f4e4f5f41534b535f494e5f424f4f4b001c0000000000000011455f4e4f5f424944535f494e5f424f4f4b001d0000000000000015455f534c4944455f544f5f5a45524f5f5052494345001e000000000000001d455f554e535550504f525445445f5354505f414354494f4e5f54595045001f0000000000000014455f43414e43454c5f57524f4e475f4f5244455200200000000000000018455f4c4556454c5f53484f554c445f4e4f545f454d50545900210000000000000011455f4c4556454c5f4e4f545f454d50545900220000000000000021455f4f524445525f4e4f545f494e5f4f50454e5f4f524445525f4143434f554e5400230000000000000018455f4e4f5f4f50454e5f4f52444552535f4143434f554e5400240000000000000020455f554e415554484f52495a45445f464f525f4d41524b45545f55504441544500250000000000000022455f554e415554484f52495a45445f464f525f4d41524b45545f4352454154494f4e00260000000000000015455f4d41524b45545f4e4f545f5550444154494e4700000202460a0a0808470a0a0808010201480b0f010800020202460a0803470a080303020249034a0404020349034b044c0b1101080b05020a460b12010804470b120108044e034f02500235034403510b0f01080d520b0f01080c530b0f01080e060202540b0f010802550b0f01080a070201560b1201080908020a5704580449034a0359035a015b055c035d03060309020249035a010a0201560a08080b020a5704580449034a0359035a015b055c035d0306030c02065e0458045f05600306035d030d020a5e0458045a015f05610349030c036203630306030e02075e0458045f055a01640349030603051d071d011d061d0001000105020607323d000c000b00380002010100001e180a003700380106000000000000000024030a0b0001071a270a00370038020c010b0037000b0138030c02010b02100114020201000105020607323d000c000b00380402030100001e180a003701380106000000000000000024030a0b0001071b270a00370138050c010b0037010b0138030c02010b021001140204010402050722500b000a0111280a01112903080718273806030c0716270a01112a0c080a083b010314071c270b083c010c0707323c000c05112b0c0d0a07370238070c060a05370314350c040a0606000000000000000024032a054b0b06060100000000000000170c060a0736020a06380813090c030c0b0c0a0a050b0a0a010b0b0b0338090c020c090b02034105480b090a0d0a040a053604380a054a0b09110905250b07010b05010205010402050727580b000a0111280a01112903080718273806030c07162707323c000c070a01112a0c090a093b0103190b0701071c270b093d010c080a0837020a02380b0c0a0a0a070422032b0b08010b0701071e270b0837020b0a380c0c03010a0310060c0b0b0310070c050a070b020b010b0b140b051438090c0d0c04112b0c0e0b0d200347054c0b07010b041109020a07370314350c060b040b0e0b060b073604380d0206010400297d380e0c11380f0c140a00112f0c160e1111300a1622030d05130e1411300b16220c030515090c030b030318051e0b001131031d07232705200b000138100c0f38110c13320a0000000000000000000000000000000a0f3511330c100a01350a0235180a101a32000000000000000000000000000000002403350712270a01350a0235180b10193200000000000000000000000000000000210341071227380620034607152711340c1207320c150a15113520034f05510e1211360a15381220035605580b1538130e120c060b0f0c070b130c080b010c090b020c0a38140c0b38140c0c0e1238150c0e0e1238160c040e1238170c050b060b0b0b0c0600000000000000000b070b080b090b0a0b0e0b040b0539003f000207000000000c0b000b010b020b030b040b050b060b070b080b09120b020800000036100e0010081432000000000000000000000000000000002103080713270b0013040c0101010b0138180209000000000d0b00130b01010101010101010101020a0104020507382e0b000a0111280a01112903080718273806030c07162707323c000c070a070b020b010b030b0438090c090c05112b0c0a0b0920031d05220b07010b051109020a07370314350c060b050b0a0b060b073604380d020b0000002f1a072e0b0117350c020b0231402f0c020b020a0037051435160c030a00370514060100000000000000160b003605150b03020c0000010739b602112b0c2c0a01100a140c280a02100a140c1f0a02100b140c250a250a0338190c260a01100c140c2a07310319051e0600000000000000000600000000000000000c100c0505260a280a26113c0a1f0a26113d0c100c050b050b100c200c290600000000000000000c2d0600000000000000000c2e0a2a033105480b2d0a03160c2d0b2e0a26160a29160c2e0a1f0a260a201635381a010a1f0a0335381b0105630a1f0a2635381c010a1f0a260a201735381d010a1f0a0335381e010b2d0a03160c2d0b2e0a26160a29170c2e0731200367056e07320a290a201735381a010a01100d140c2b0a000c090b2b0c170a280c180a030c190a250c1a0b290c1b0a01100e140a033411420c1d0a01100c140c060a2c0c070b01100f140c080b090b170b080b060b180b190b1a0b1b0600000000000000000b1d0b07120d381f0a02100e140a033411420c210a021010140600000000000000002403aa0105bc010a02101014350a0335180b041a0c1e0a1f0a1e3820010a1f0b1e3821010b000c150a02100d140c0a0a1f0c0b0b030c0c0b250c0d0b200c0f0a210c110b2a200c120b2c0c130a02100f140c140b150b0a0b140b120b0b0b0c0b0d0600000000000000000b0f0b110b13120d381f0b210600000000000000002103e701058a020a1f112a0c230a233b0103f1010b0201071c270b233c010c220a2237020b02100d14380b0c240a240704220383020b2201071f270b2236020b2438080101058c020b0201073211440a2638220a281135039402059f020a28381220039902059b020a2838130b2811440a2638220a1f38122003a40205a8020a1f11350c1605aa02090c160b1603ad0205af020a1f38130b1f11440b2638220b2d0b2e020d000001073f8f01112b0c180a01100d140c130a00370314350c100a01100a140c140a140a022103190b01010b00010711270a01100e140c170a01100b140c160a160a1738190c150a01100c14032a05300a020b153538230105350a020a17353824010a0110101406000000000000000024033c05480b020a01101014350a1735180b101a3825010b0036060c0e0b130c030a140c080b160c090b170c0a0a01100c140c0b0b180c0c0a01100f140c0d0b0e0b030b0d0b080b0b0b0a0b090b0c120e38260a14112a0c120a123b0120036f05760b1411470c0f0e0f382739013f010b123c010c110b1136020c070a01100d140c060a01100c140c040b01100b140c050b070b060b050b0412093828020e000000417b0b04030305070b0036010c05050a0b0036000c050b050c0d0a0d0b03350c070c060b062e0b0738290c0a0a0a070421031b052a0b0d010a010b01060000000000000000060000000000000000060000000000000000090b02072e072d060000000000000000110709020a0d0a0a382a0c08010a0810120a01382b0c0c0a0c0704210339054a0b0d010b08010a010b01060000000000000000060000000000000000060000000000000000090b02072e072d060000000000000000110709020a080f120b0c382c0c0b010e0b100a140b0221035c0b0d010b08010719270a081008140e0b100e1435170a080f08150b08100814320000000000000000000000000000000021036e05760b0d0b0a382d0c09010b09110805780b0d010b0b08020f00000045550e01100c14030505090b0036010c02050c0b0036000c020b020c0c0e01100b14350c0b0a0c0a0b0c040c030b032e0b0438290c0a0a0a0704210321053d382e0c050e01100e14350c060e01100b140c070b070b060b0512040c080d080f120e01100d140b01382f0b0c0b0b0b08383005540b0c0b0a382a0c09010a091008140e01100e1435160a090f08150b090f120e01100d140b01382f0210010402010547d801380603060b00010716270a00112f3b0220030c05110a000a00383139023f02404900000000000000004049000000000000000012000c0107323d000c060a063701380106000000000000000024031f05730a0637010c0d0a0d38050c020a02070422032a05710a0d0a0238030c04010a04101238320c09404b00000000000000000c0b0a0906000000000000000024033a05660b09060100000000000000170c090a0410120a0938330c07010d0b0a07100d140a07100f140a07100b140a07100e140a071010140a07100c140a07100a140a071013140a071014140b071015141208444b05350b04010d010f160b0b44490a0d0b0238340c0205250b0d010a063700380106000000000000000024037a05cf010b0637000c0e0a0e38020c030a0307042203850105cc010a0e0a0338030c05010a05101238320c0a404b00000000000000000c0c0a0a0600000000000000002403950105c1010b0a060100000000000000170c0a0a0510120a0a38330c08010d0c0a08100d140a08100f140a08100b140a08100e140a081010140a08100c140a08100a140a081013140a081014140b081015141208444b0590010b05010d010f170b0c44490a0e0b0338350c030580010b0e0105d1010b06010b00112f3c0236070b013836021101040205064d74380603060b00010716270a00112f3b0320030c05130a000a0038370a00383839033f03405000000000000000004050000000000000000012020c0307323d000c060a063701380106000000000000000024032105420a0637010c070a0738050c010a01070422032c05400a070a0138030c04010d030f190a041001140b04100814120344500a070b0138340c0105270b07010a0637003801060000000000000000240349056b0b0637000c080a0838020c020a02070422035405680a080a0238030c05010d030f1a0a051001140b05100814120344500a080b0238350c02054f0b0801056d0b06010b00112f3c0336080b033839021201040305060700050a000b00112f383a021301040305060751a301380603060b00010716270a00112f3b0320030c05130a000a0038370a00383839033f030b01112a0c090b093d010c080a08370238070c070600000000000000000c03404b0000000000000000120a0c0a07323d000c060a030a0723032a0598010a0837020a03380c0c0e0c0c0a0e100714033505390a0637010c02053c0a0637000c020b020c0f0a0f0b0e1006143538290c050a0507042203530b0f010b00010b08010b0601071e270b0f0b0538030c04010a0410120b0c382b0c0d0a0d070422036b0b00010b08010b06010b0401071e270b0410120b0d38330c0b010d0a0f1c0a0b100d140a0b100f140a0b100b140a0b100e140a0b1010140a0b100c140a0b100a140a0b1013140a0b1014140b0b1015141208444b0b03060100000000000000160c0305250b08010b06010b00112f3c0336090b0a383b021401000105020b3806030407162707323d000c000b003703140215010000000307323b0002160000010752e8030a01100c14030505090a0036000c04050c0a0036010c040b040c360a01100b140c320600000000000000000c370600000000000000000c380a00370314350c2c0a362e383c20032105280a01100e14060000000000000000240c0e052a090c0e0b0e032d05e5030a01100c14033205370a362e38020c18053b0a362e38050c180b180c2f0a360a2f382a0c29010a291001140c2b0a01100c14034b05500a2b0a32250c1b0552090c1b0b1b03550558080c1d05670a01100c1420035e05630b2b0a32260c1c0565090c1c0b1c0c1d0b1d036a05db030a29100814320000000000000000000000000000000024037105780a01100e14060000000000000000240c1e057a090c1e0b1e037d05cb030a291012383d0c310a2910120a3138330c2d010a2d1013140a0225038e0105a8010b2d010a290f120b31382c0c30010a291008140e30100e1435170a290f08150b300a020a2c0a003604380d056a0a01100a140a2d100a142103b10105c8020b2d010a0307032103b0020a0307002103bc0105e3010a01100d140c1f0a01100a140c200a01100e140c050a020c060a01100f140c070a011014140c080b1f0b070b200b050b060b08120c0c260a0036040b26383e0600000000000000000a010f0e1505cb030a0307012103e80105a6020a290f120b31382c0c24010a291008140e24100e1435170a290f08150b240a020a2c0a003604380d0a01100d140c090a01100a140c0a0a01100e140c0b0a020c0c0a01100f140c0d0a011014140c0f0b090b0d0b0a0b0b0b0c0b0f120c0c270a0036040b27383e0600000000000000000a010f0e1505cb030b01010b36010b00010b29010728270a290f120b31382c0c23010a291008140e23100e1435170a290f08150b230a020a2c0a003604380d056a0a2d100e140c250a250a01100e142503d302058b030a00360a0a010b2d0a250a2c0c140c130c120c110c100b100b112e0b120b130b14383f0c340c210b370b21160c370b380b34160c380a01100e140b25170a010f0e150a290f120b31382c0c28010a291008140e28100e1435170a290f08150b28110905ca030a01100e140c330a00360a0a010b2d0b330a2c0c1a0c190c170c160c150b150b162e0b170b190b1a383f0c350c220b370b22160c370b380b35160c380a290f120b3138400c2e010a2e100e140a01100e14170b2e0f0e150a291008140a01100e1435170a290f08150600000000000000000a010f0e15056a0b2910081432000000000000000000000000000000002103d20305da030a360b2f382d0c2a010b2a110805e40305e4030b01010b36010b00010b290105e503051b0b370b38021701000105020b3806030407162707323d000c000b0037003801021801000105020b3806030407162707323d000c000b003701380102190000010753ef040731200304050b0a011155030b0b00010707270a00370b140c5e0a003703140c560a040a561906000000000000000022031a051e0b0001070e270a030b5e1906000000000000000022032505290b0001070d27112b0c5f0a000a0538410c580a580a070a030a040b050a020a010a0a0a060a5f120b0c570a06072b21034005c5030600000000000000000c520a02034505490a0036000c0c054c0a0036010c0c0b0c0c5d0a5d2e380106000000000000000021035505780b5d010b0036040c4d0b580c170e57100a140c210e57100e140c2c0b5f0c370b070c420b060c4c0b4d0b170b420b210b2c0b370b4c120c383e0b571109060000000000000000060000000000000000020a02037b0580010a5d2e38020c4e0584010a5d2e38050c4e0b4e0c530a53070422038b010590010a520a04230c0d059201090c0d0b0d039501059f030a5d0a530c0f0c0e0b0e2e0b0f38030c54010a0203a20105a9010a541001140a03250c1005ab01090c100b1003ae0105b101080c1205c0010a022003b50105bc010a541001140a03260c1105be01090c110b110c120b120c500b5003c5010597030a541012383d0c590a5907042203ce0105d3010a520a04230c1305d501090c130b1303d80105fe020a5410120a5938330c5a010a5a100a140a012103e50105d8020a0b07002103ea010591020b5d010b5a010b54010b0036040c1b0b580c140e57100a140c150e57100e140c160b5f0c180b070c190b060c1a0b1b0b140b190b150b160b180b1a120c383e0b571109060000000000000000060000000000000000020a0b07012103960205d8020b5a010b54010b5d0b53382a0c55010a550f120b59382c0c51010a551008140e51100e1435170b550f08150b510a5f0b56350a003604380d0b0036040c230b580c1c0e57100a140c1d0e57100e140c1e0b5f0c1f0b070c200b060c220b230b1c0b200b1d0b1e0b1f0b22120c383e0b571109060000000000000000060000000000000000020a5a1013140a5f2603df0205f6020a040a52170c5c0b5c0a5a100e142303ea0205ef020b5a010a040c5205f5020b520b5a100e14160c5205f8020b5a010a5410120b5938420c5905c9010b54010a02038303058d030a5d0b530c250c240b242e0b2538350c28059c030a5d0b530c270c260b262e0b2738340c28059c030b5d010b5401059f030b280c530586010b520b042303a40305c5030b0036040c300b580c290e57100a140c2a0e57100e140c2b0b5f0c2d0b070c2e0b060c2f0b300b290b2e0b2a0b2b0b2d0b2f120c383e0b571109060000000000000000060000000000000000020b0a0a5f2503ca0305cd03080c3605e6030a06072f2103d20305e2030a000d570a080b090c340c330c320c310b312e0b320b330b3438430c3505e403090c350b350c360b3603e90305ec03080c3c0582040a0607302103f10305fe030a000d570b080c3a0c390c380b382e0b390b3a38440c3b058004090c3b0b3b0c3c0b3c03850405a6040b0036040c440b580c3d0e57100a140c3e0e57100e140c3f0b5f0c400b070c410b060c430b440b3d0b410b3e0b3f0b400b43120c383e0b571109060000000000000000060000000000000000020a000d570a5f0b0b38450c5b0c4f0e57100e140600000000000000002403b40405e8040a06072b2203bc040b00010711270a06072c2103c10405e0040b0036040c4b0b580c450e57100a140c460e57100e140c470b5f0c480b070c490b060c4a0b4b0b450b490b460b470b480b4a120c383e0b57110905e7040a000e570b0138460b000b57384705ec040b00010b5711090b4f0b5b021a000000549b010a00370b140c0a0a01100b140c080a01100c14030d05540a0037013801060000000000000000210314051a0b01010b000108020a0038040c06072e0c040a0037003801060000000000000000240326052a0b0038000c04052c0b00010b03032f053f0b060b020a0a18160c090a090a0426033a053e0b040b0a170c0905450b060b020b0a18170c090a090b0825034a05500b090b010f0b1509020b010108020a003700380106000000000000000021035b05610b01010b000108020a0038000c050600000000000000000c070a003701380106000000000000000024036d05710b0038040c0705730b00010b0303760586010b050b020a0a18170c090a090a07250381010585010b070b0a160c09058c010b050b020b0a18160c090a090b08260391010597010b090b010f0b1509020b010108021b00000055770a00370b140c060a01100b140c050a01100c14030d05470a0037003801060000000000000000210314051a0b01010b000109020b0038000c030a050a0323032205260b010109020b050a03170a06160b020a061825033105430a030a061706000000000000000024033b0b01010720270b030b06170b010f0b1509020b010108020a003701380106000000000000000021034e05540b01010b000109020b0038040c040a050a0424035c05600b010109020a040b05170a06160b020a061825036b05730b040b06160b010f0b1509020b010108021c0100020507000e0b000d010d020b030b040b050b060b07384801010b010b02021d010002050756a601380603080b02010b010107162707323c000c100a04072b2103100513080c0805170a04072c210c080b0803210b02010b10010b01010710270a103703140c0f0a103703140c180b060a0f1a0b0f180c170b050a181a0b18180c160b100b000a030b160b170600000000000000000b040b0706000000000000000009072e070038490c140c0e07320c1911340c090e090c110a0e06000000000000000022034f05540a14060000000000000000220c0a0556090c0a0b0a0359058c010b03035c05740b020a1434384a0c120732384b20036605680a11384c0b190b12384d0b110a0e34384e0c0c0b010b0c384f058b010b010a0e3438500c0d0732385120037e0580010a1138520b190b0d38530b110a143438540c130b020b13385505a3010b02010b11010b01010a0e06000000000000000022039701059a01080c0b059e010a14060000000000000000220c0b0b0b03a10105a3010711270b0e0b14021e01040205075c6d0b000a0111280a01112903080718270a011135030d072a273806031107162707323c000c100b100a010a020b030b040b050a070b060b080b090b0a0b0b38490c110c0f0a0f060000000000000000220328052d0a11060000000000000000220c0c052f090c0c0b0c0332055b0a070730220337053c0b07072f220c0d053e090c0d0b0d03420711270b02034505500a010b1135381d010b010b0f35381e01055a0a010b1135381a010b010b0f35385601056c0b0f0600000000000000002203600563080c0e05670b11060000000000000000220c0e0b0e036a056c071127021f000001075d230e00100a14112a3c010c040a0437020e00100d14380b0c050a0507042203170b04010b0301071f270b0436020b05380801010b000b010b020b03380a02200000005e5d0e00100e140c0b0e00100d140c040e00100a140c050e00100e140c060b010c070e00100f140c080e001014140c090b040b080b050b060b070b09120c0c0c0b030b0c383e0e00100c14032a05360e00100a140e00100b140b0b381935381c01053f0e00100a140e00100e14353857010e001010140c0a0e00100e14350c0e0b0a350b0e180b021a0c0d0a0d3200000000000000000000000000000000240354055a0e00100a140b0d3820010b0011090221000000000c0b00350b013518320a00000000000000000000000000000038103511331a34022201000105020b3806030407162707323d000c000b00370b14022301040205075fc7030a00112f0732220306050c0b001131030b072427050e0b000138060312071627112b0c2307323c000c11320a0000000000000000000000000000000a11370c143511330c060a02350a0135180a061a320000000000000000000000000000000024032c0b11010712270a02350a0135180b0619320000000000000000000000000000000021033a0b11010712270a010a11370b142203410544080c03054a0a020a11370314220c030b0303500b11010717270a113703140a02220c180a11370138010c120600000000000000000c0f0a11370314350c190a0f0a12230366058a020a1137010a0f38030c07010b071001140a011906000000000000000022037505a0010a1136010a0f382d0c0b010e0b101238320c140a14060000000000000000240384010595010b14060100000000000000170c140d0b0f120a14382c0c1b010b1b0a230a190a113604380d057f32000000000000000000000000000000000d0b0f08150b0b11080b12060100000000000000170c120589020a1136010a0f382a0c0d010a0d101238320c170600000000000000000c210a210a172303b10105f1010a0d10120a2138330c1f010a1f101014060000000000000000240a181f03c00105c5010b1f01080c0505cd010b1f100e140a0219060000000000000000220c050b0503d00105ec010a0d0f120a21382c0c20010a0d1008140e20100e1435170a0d0f08150b200a230a190a113604380d0b17060100000000000000170c1705f0010b21060100000000000000160c2105ac010b0d10081432000000000000000000000000000000002103f8010585020a1136010a0f382d0c0e010b0e11080b12060100000000000000170c120589020b0f060100000000000000160c0f05610a11370038010c130600000000000000000c100a11370314350c1a0a100a1323039a0205be030a1137000a1038030c08010b081001140a01190600000000000000002203a90205d4020a1136000a10382d0c09010e09101238320c150a150600000000000000002403b80205c9020b15060100000000000000170c150d090f120a15382c0c1c010b1c0a230a1a0a113604380d05b30232000000000000000000000000000000000d090f08150b0911080b13060100000000000000170c1305bd030a1136000a10382a0c0a010a0a101238320c160600000000000000000c220a220a162303e50205a5030a0a10120a2238330c1d010a1d101014060000000000000000240a181f03f40205f9020b1d01080c040581030b1d100e140a0219060000000000000000220c040b0403840305a0030a0a0f120a22382c0c1e010a0a1008140e1e100e1435170a0a0f08150b1e0a230a1a0a113604380d0b16060100000000000000170c1605a4030b22060100000000000000160c2205e0020b0a10081432000000000000000000000000000000002103ac0305b9030a1136000a10382d0c0c010b0c11080b13060100000000000000170c1305bd030b10060100000000000000160c100595020b020a113603150b010b11360b150205010400050007000505050809000901040105020b060b020b050b000b030b010b04050904020b070b080b090000000101000200020106000a000601050705060503001d021d031d041d051d091d111d181d1b1d1d1d1e1d1f1d201d000000", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "clob_market", + "friends": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::router" + ], + "exposed_functions": [ + { + "name": "best_ask_au", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "best_ask_price", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Market" + ], + "return": [ + "u64" + ] + }, + { + "name": "best_bid_au", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "best_bid_price", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Market" + ], + "return": [ + "u64" + ] + }, + { + "name": "cancel_all", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "cancel_order", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address", + "u128" + ], + "return": [] + }, + { + "name": "create_market", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "fast_cancel_order", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address", + "u128", + "u64", + "bool" + ], + "return": [] + }, + { + "name": "load_all_orders_into_event", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "load_market_into_event", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "load_open_orders_into_event", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "load_open_orders_into_event_for_address", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "lot_size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "market_exists", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "n_ask_levels", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "n_bid_levels", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "place_market_order", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin", + "0x1::coin::Coin", + "bool", + "u64", + "u64", + "u64", + "u128" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "place_market_order_mut", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "&mut 0x1::coin::Coin", + "&mut 0x1::coin::Coin", + "bool", + "u64", + "u64", + "u64", + "u128" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "place_order", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address", + "bool", + "u64", + "u64", + "u64", + "u128", + "u64", + "u64", + "bool", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "tick_size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "update_market_parameter", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + } + ], + "structs": [ + { + "name": "AllOrdersEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "bids", + "type": "vector>" + }, + { + "name": "asks", + "type": "vector>" + } + ] + }, + { + "name": "AllOrdersStore", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "all_ordes_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::AllOrdersEvent>" + } + ] + }, + { + "name": "L2Event", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "bids", + "type": "vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Quote>" + }, + { + "name": "asks", + "type": "vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Quote>" + } + ] + }, + { + "name": "L2Quote", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "price", + "type": "u64" + }, + { + "name": "quantity", + "type": "u128" + } + ] + }, + { + "name": "Level", + "is_native": false, + "abilities": [ + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "price", + "type": "u64" + }, + { + "name": "total_quantity", + "type": "u128" + }, + { + "name": "orders", + "type": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Order>" + } + ] + }, + { + "name": "Market", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "bids", + "type": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Level>" + }, + { + "name": "asks", + "type": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Level>" + }, + { + "name": "next_order_id", + "type": "u64" + }, + { + "name": "base_decimals", + "type": "u8" + }, + { + "name": "quote_decimals", + "type": "u8" + }, + { + "name": "lot_size", + "type": "u64" + }, + { + "name": "tick_size", + "type": "u64" + }, + { + "name": "fill_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderFillEvent>" + }, + { + "name": "cancel_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderCancelEvent>" + }, + { + "name": "placed_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderPlacedEvent>" + } + ] + }, + { + "name": "MarketDataStore", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "l2_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Event>" + }, + { + "name": "open_orders_events", + "type": "0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrdersEvent>" + } + ] + }, + { + "name": "OpenOrderAccount", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "open_orders", + "type": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderInfo>" + } + ] + }, + { + "name": "OpenOrderEventInfo", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "id", + "type": "u128" + }, + { + "name": "client_order_id", + "type": "u128" + }, + { + "name": "price", + "type": "u64" + }, + { + "name": "quantity", + "type": "u64" + }, + { + "name": "aux_au_to_burn_per_lot", + "type": "u64" + }, + { + "name": "is_bid", + "type": "bool" + }, + { + "name": "owner_id", + "type": "address" + }, + { + "name": "timeout_timestamp", + "type": "u64" + }, + { + "name": "order_type", + "type": "u64" + }, + { + "name": "timestamp", + "type": "u64" + } + ] + }, + { + "name": "OpenOrderInfo", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "price", + "type": "u64" + }, + { + "name": "is_bid", + "type": "bool" + } + ] + }, + { + "name": "OpenOrdersEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "open_orders", + "type": "vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderEventInfo>" + } + ] + }, + { + "name": "Order", + "is_native": false, + "abilities": [ + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "id", + "type": "u128" + }, + { + "name": "client_order_id", + "type": "u128" + }, + { + "name": "price", + "type": "u64" + }, + { + "name": "quantity", + "type": "u64" + }, + { + "name": "aux_au_to_burn_per_lot", + "type": "u64" + }, + { + "name": "is_bid", + "type": "bool" + }, + { + "name": "owner_id", + "type": "address" + }, + { + "name": "timeout_timestamp", + "type": "u64" + }, + { + "name": "order_type", + "type": "u64" + }, + { + "name": "timestamp", + "type": "u64" + } + ] + }, + { + "name": "OrderCancelEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "order_id", + "type": "u128" + }, + { + "name": "client_order_id", + "type": "u128" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "cancel_qty", + "type": "u64" + }, + { + "name": "timestamp", + "type": "u64" + }, + { + "name": "order_type", + "type": "u64" + } + ] + }, + { + "name": "OrderFillEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "order_id", + "type": "u128" + }, + { + "name": "client_order_id", + "type": "u128" + }, + { + "name": "is_bid", + "type": "bool" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "base_qty", + "type": "u64" + }, + { + "name": "price", + "type": "u64" + }, + { + "name": "fee", + "type": "u64" + }, + { + "name": "rebate", + "type": "u64" + }, + { + "name": "remaining_qty", + "type": "u64" + }, + { + "name": "timestamp", + "type": "u64" + } + ] + }, + { + "name": "OrderPlacedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "order_id", + "type": "u128" + }, + { + "name": "client_order_id", + "type": "u128" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "is_bid", + "type": "bool" + }, + { + "name": "qty", + "type": "u64" + }, + { + "name": "price", + "type": "u64" + }, + { + "name": "timestamp", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a01000c020c22032e3904672c0593015707ea01e60108d00340069004220ab204050cb704e10200000101000200030004000500060800040b0001000104120000041300000414000004150000041600000417000000070001020000000802010200000009020100030c0104020000030d0001020000020e0104020000020f060102000001100108000511020100030304030503050506030009000a000b000c000d000e000f001001110109010a010b010c010d010e010f011003060c03030001060c020b010109000b010109010101020b010109010b0101090002060c0302010201020208020803020802080402080508030208050804020806080302080608040208070803020807080402080208050c66616b655f6d61726b65747308636861696e5f696403616d6d0b636c6f625f6d61726b65740966616b655f636f696e057661756c740b496e697469616c697a6564126372656174655f66616b655f6d61726b6574106372656174655f66616b655f706f6f6c0b696e69745f6d6f64756c650b64756d6d795f6669656c640846616b65436f696e0d6d61726b65745f6578697374730d6372656174655f6d61726b65740b706f6f6c5f6578697374730b6372656174655f706f6f6c036765740c6372656174655f7661756c7403425443045553444304555344540345544803534f4c03415558bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410002010a0100000000010c380020030405090b000b010b023801050b0b000102010000000414380220030405083803200c01050a090c010b01030d05110b00061e00000000000000380405130b00010202000000075411070c0207002900030605090b0001020a000912002d000a02310122031205170b023105220c010519090c010b01031c05510a0011080a0006a08601000000000006102700000000000038050a0006a08601000000000006102700000000000038060a0006102700000000000006102700000000000038070a0006102700000000000006102700000000000038080a0006809698000000000006102700000000000038090a00068096980000000000061027000000000000380a0a0006a086010000000000061027000000000000380b0a0006a086010000000000061027000000000000380c0a00380d0a00380e0a00380f0a0038100a0038110a0038120a0038130a0038140b00381505530b00010200", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "fake_markets", + "friends": [], + "exposed_functions": [], + "structs": [ + { + "name": "Initialized", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000c01000a020a0803122f0441040545340779a302089c034006dc032e0a8a04080c9204730d8505040f8905060003010401050106010700080800010e06000009000100000a020300000b020200000c020400031000020002110607010004120901010001130a0b0001140c03000502060801060c000105010c01010705050801060c0a0208010c01060900010a02010202070a09000a090002060c0a02020c0801010608010b636c6f625f6d61726b6574057661756c740e766f6c756d655f747261636b65720e6f6e636861696e5f7369676e6572076163636f756e7403626373067369676e657206766563746f720d4f6e636861696e5369676e6572156372656174655f6f6e636861696e5f7369676e65720a6765745f7369676e6572126765745f7369676e65725f61646472657373126861735f6f6e636861696e5f7369676e6572117369676e65725f6361706162696c697479105369676e65724361706162696c6974790f6163636f756e745f616464726573730a616464726573735f6f6608746f5f627974657306617070656e64176372656174655f7265736f757263655f6163636f756e741d6372656174655f7369676e65725f776974685f6361706162696c697479bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410a0209086175782d757365720002020d08010f050003000005230a0011042900200306052007000c010e0138000c050d05070138010a000b0511070c060c070b000c040e0711040c020b060c030b040b030b0212002d0005220b000102010300010001050b002b001000110802020300010001050b002b00100114020303000001030b002900020000000100000001000200", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "onchain_signer", + "friends": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault", + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker" + ], + "exposed_functions": [ + { + "name": "create_onchain_signer", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "get_signer", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "signer" + ] + }, + { + "name": "get_signer_address", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "address" + ] + }, + { + "name": "has_onchain_signer", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "bool" + ] + } + ], + "structs": [ + { + "name": "OnchainSigner", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "signer_capability", + "type": "0x1::account::SignerCapability" + }, + { + "name": "account_address", + "type": "address" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000f01000402040e031236044802054a3707810192030893042006b3043c10ef045d0acc051c0be805020cea05f1030ddb09100eeb09020fed09020001000200030801000100040400000504000006000101000007020300000802030100000902040100000a050400000b06040100011302020001140203000115020c00011605040002080205030104010501010001060c0305030305060a0801030304070802010900010801020105030a0801030c010c050305030708010708020b636c6f625f6d61726b65740e766f6c756d655f747261636b65720e6f6e636861696e5f7369676e65721253696e676c654173736574547261636b65720b566f6c756d65456e7472790d566f6c756d65547261636b6572166765745f706173745f33305f6461795f766f6c756d6520676c6f62616c5f766f6c756d655f747261636b65725f726567697374657265641669735f636f696e5f766f6c756d655f747261636b65641e72656769737465725f636f696e5f666f725f766f6c756d655f747261636b1e72656769737465725f676c6f62616c5f766f6c756d655f747261636b6572157570646174655f766f6c756d655f747261636b657206766f6c756d650974696d657374616d700364617911696e697469616c5f74696d657374616d700662756666657212706173745f33305f646179735f746f74616c0f6c6173745f7570646174655f646179126765745f7369676e65725f61646472657373126861735f6f6e636861696e5f7369676e65720a6765745f7369676e6572156372656174655f6f6e636861696e5f7369676e6572bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54103081e000000000000000308000000000000000003080100000000000000030880510100000000000308020000000000000003080300000000000000126170746f733a3a6d657461646174615f7630490200000000000000001c45434f494e5f414c52454144595f564f4c554d455f545241434b45440001000000000000001845434f494e5f4e4f545f564f4c554d455f545241434b4544000002010108020102030c040d030e030202040f03100a0801110412030008000100010007480b0011063c0036000c060b010a061001141707031a0c040a061002140a0421031405180b06100314020a0610040c0232000000000000000000000000000000000c050600000000000000000c030a030700230324053c0a020a0342091005140700160a0426032f05370b050a020a034209100614160c050b03060100000000000000160c03051f0b02010a050a060f03150b040b060f02150b05020101000004030b00110702020100000a100a0011072003050508090c01050e0b0011060c020b023b000c010b0102030300000b2b0a00110103050705270a00380020030b070127400900000000000000000c010600000000000000000c020a020700230314051f0d013200000000000000000000000000000000060000000000000000060000000000000000120144090b02060100000000000000160c02050f0b0011080c030e030600000000000000000b013200000000000000000000000000000000060000000000000000120239003f00020401000004030b0011090205030001000d3d0a00380003050702270b0011060c040b043c0036000c070a010a071001141707031a0c030a03070034190c050b070f040b0543090c060a061005140a03220325052f0b030a060f05150b02350a060f061505380a061006140b0235160a060f06150b010b060f071502000002000203020202010102010001010008000000", + "abi": { + "address": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541", + "name": "volume_tracker", + "friends": [ + "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market" + ], + "exposed_functions": [ + { + "name": "get_past_30_day_volume", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u64" + ], + "return": [ + "u128" + ] + }, + { + "name": "global_volume_tracker_registered", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "address" + ], + "return": [ + "bool" + ] + }, + { + "name": "is_coin_volume_tracked", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address" + ], + "return": [ + "bool" + ] + }, + { + "name": "register_coin_for_volume_track", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address" + ], + "return": [] + }, + { + "name": "register_global_volume_tracker", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "update_volume_tracker", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "address", + "u64", + "u64" + ], + "return": [] + } + ], + "structs": [ + { + "name": "SingleAssetTracker", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + } + ], + "fields": [ + { + "name": "volume_tracker", + "type": "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::VolumeTracker" + } + ] + }, + { + "name": "VolumeEntry", + "is_native": false, + "abilities": [ + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "volume", + "type": "u128" + }, + { + "name": "timestamp", + "type": "u64" + }, + { + "name": "day", + "type": "u64" + } + ] + }, + { + "name": "VolumeTracker", + "is_native": false, + "abilities": [ + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "initial_timestamp", + "type": "u64" + }, + { + "name": "buffer", + "type": "vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::VolumeEntry>" + }, + { + "name": "past_30_days_total", + "type": "u128" + }, + { + "name": "last_update_day", + "type": "u64" + } + ] + } + ] + } + } +] \ No newline at end of file diff --git a/projects/simple-aptos-coin/abis/aptos/liquidswap.json b/projects/simple-aptos-coin/abis/aptos/liquidswap.json new file mode 100644 index 00000000..6128f765 --- /dev/null +++ b/projects/simple-aptos-coin/abis/aptos/liquidswap.json @@ -0,0 +1,2952 @@ +[ + { + "bytecode": "0xa11ceb0b050000000801000203022305251d0742470889012006a9012e10d7014f0ca602c703000000010001000002020100000303010000040004000005050400000606010000070401000203030103030303030304040401040204040102000202030403030404046d617468076d696e5f753634076d756c5f6469760c6d756c5f6469765f753132380b6d756c5f746f5f753132380c6f766572666c6f775f61646406706f775f31300473717274190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e120308d0070000000000000410ffffffffffffffffffffffffffffffff0410ffffffffffffffff0000000000000000126170746f733a3a6d657461646174615f76303b01d007000000000000124552525f4449564944455f42595f5a45524f1e5768656e20747279696e6720746f20646976696465206279207a65726f2e00010000010c0a000a0123030505080b000c02050a0b010c020b02020101000004120a020600000000000000002203060700270b00350b0135180b02351a0c030b03340202010000040f0a0232000000000000000000000000000000002203060700270b000b01180b021a0c030b0334020301000007060b00350b0135180204010000042207010a01170c020a020a00230309050f0b000b02173201000000000000000000000000000000170207010a00170c020a020a01230318051e0b010b0217320100000000000000000000000000000017020b000b0116020501000008150601000000000000000c0231000c01280a010a0023030a05130b02060a00000000000000180c020b013101160c0105040b020206010000092f0a00320400000000000000000000000000000023030505120b00320000000000000000000000000000000021030a050d0600000000000000000c01050f0601000000000000000c010b010c02052d0a000c040a0032020000000000000000000000000000001a3201000000000000000000000000000000160c030a030a0423031f052a0a030c040a000a031a0b031632020000000000000000000000000000001a0c03051a0b04340c020b020200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "math", + "friends": [], + "exposed_functions": [ + { + "name": "min_u64", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "mul_div", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "mul_div_u128", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128", + "u128" + ], + "return": [ + "u64" + ] + }, + { + "name": "mul_to_u128", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64" + ], + "return": [ + "u128" + ] + }, + { + "name": "overflow_add", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "pow_10", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u8" + ], + "return": [ + "u64" + ] + }, + { + "name": "sqrt", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128" + ], + "return": [ + "u64" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000b01000402040c03101e042e0c053a0f07497e08c701400687020a109102300ac1020a0ccb023e00000101000200000003000001090700000400000100000500010100000600010100000700010100010a000301000302040204040405020201020001010109000108020108000108010663757276657309747970655f696e666f06537461626c650c556e636f7272656c61746564126173736572745f76616c69645f63757276650969735f737461626c650f69735f756e636f7272656c617465640e69735f76616c69645f63757276650b64756d6d795f6669656c640854797065496e666f07747970655f6f66190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000103081127000000000000126170746f733a3a6d657461646174615f76301c011127000000000000114552525f494e56414c49445f43555256450000020108010102010801000100000005380003040700270201010000000438013802210202010000000438013803210203010000010a380403030506080c00050838050c000b000200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "curves", + "friends": [], + "exposed_functions": [ + { + "name": "assert_valid_curve", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [] + }, + { + "name": "is_stable", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "is_uncorrelated", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "is_valid_curve", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + } + ], + "structs": [ + { + "name": "Stable", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "Uncorrelated", + "is_native": false, + "abilities": [], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a0100100210100320cf0204ef025005bf03960207d5058b0508e00a6006c00b5a109a0cca040ce410c3090000010102020003000400050006000701080401000102090003000100010001000a000103000000000b020303000000000c040500000d050503000000000e050503000000000f0605030000000010060503000000001107080300000000120705030000000013070303000000001407030300000000150705030000000016070303000000001705030300000000180703030000000019070903000000001a0a0703000000001b0b0c03000000001c0d0e03000000001d0d0c03000000001e0d0e03000000031f070902000001201205010001211516010005220c1703000000062304050004240709010007251c1d000426070901000627031d0007281c1d000511070803000000051207050300000005130703030000000514070303000000051507050300000005160703030000000329071d0100062a2305000518070303000000052b070903000000052c0a0703000000052d170c03000000012e07160100052f000c0300000001301607010015101611161301141711171318140e140a14051406140c141a1b1c1b1f141f2020142020211421202214222023142320241424202522271427202814282029142a142b132c142c202d11031412140414040b00010900030b0001090103030b000109000b000109010b00010b010309000901090204030303030203030303030301030503030303030003040403010101060c030b00010b01030900090109020303020b000109000b00010901020b0001090003010b00010901070b00010900030b00010901030b00010b01030900090109020303020900090101090001060b000109000109010309000901090202070b0001090003010b00010900010b00010b010309000901090205010303030302010308030303030303030301090205040303040401040a04030304030403030303060404030304040309010900090206010403030303010b010309000901090203040404020b000109010b0001090003030b000109010306726f7574657204636f696e076c705f636f696e0b636f696e5f68656c706572066375727665730e6c69717569646974795f706f6f6c046d6174680c737461626c655f637572766504436f696e024c500d6164645f6c69717569646974791863616c635f6f7074696d616c5f636f696e5f76616c7565731a636f6e766572745f776974685f63757272656e745f70726963650d6765745f616d6f756e745f696e0e6765745f616d6f756e745f6f7574156765745f636f696e5f696e5f776974685f66656573166765745f636f696e5f6f75745f776974685f66656573156765745f63756d756c61746976655f7072696365730b6765745f64616f5f666565136765745f64616f5f666565735f636f6e666967136765745f646563696d616c735f7363616c6573076765745f6665650f6765745f666565735f636f6e666967196765745f72657365727665735f666f725f6c705f636f696e73116765745f72657365727665735f73697a650e69735f737761705f6578697374730d72656769737465725f706f6f6c1072656d6f76655f6c69717569646974791c737761705f636f696e5f666f725f636f696e5f756e636865636b656418737761705f636f696e5f666f725f65786163745f636f696e18737761705f65786163745f636f696e5f666f725f636f696e0969735f736f727465640576616c75650765787472616374046d696e74076d756c5f6469760969735f737461626c6507636f696e5f696e0f69735f756e636f7272656c617465640b6d756c5f746f5f7531323808636f696e5f6f757406737570706c790c6d756c5f6469765f753132380e69735f706f6f6c5f657869737473087265676973746572046275726e047a65726f04737761700c64657374726f795f7a65726f190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000105a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c9480308cd000000000000000308ce000000000000000308cb000000000000000308ca000000000000000308cc000000000000000308cf000000000000000308c8000000000000000308d0000000000000000308c900000000000000126170746f733a3a6d657461646174615f7630b50409c800000000000000104552525f57524f4e475f414d4f554e541257726f6e6720616d6f756e7420757365642ec900000000000000114552525f57524f4e475f524553455256451357726f6e67207265736572766520757365642eca00000000000000194552525f494e53554646494349454e545f595f414d4f554e5422496e73756666696369656e7420616d6f756e7420696e20592072657365727665732ecb00000000000000194552525f494e53554646494349454e545f585f414d4f554e5422496e73756666696369656e7420616d6f756e7420696e20582072657365727665732ecc000000000000000f4552525f4f5645524c494d49545f581d4f7665726c696d6974206f66205820636f696e7320746f20737761702ecd000000000000002b4552525f434f494e5f4f55545f4e554d5f4c4553535f5448414e5f45585045435445445f4d494e494d554d1d416d6f756e74206f7574206c657373207468616e206d696e696d756d2ece00000000000000214552525f434f494e5f56414c5f4d41585f4c4553535f5448414e5f4e4545444544244e656564656420616d6f756e7420696e206772656174207468616e206d6178696d756d2ecf000000000000000f4552525f554e524541434841424c45234d61726b732074686520756e726561636861626c6520706c61636520696e20636f6465d000000000000000144552525f57524f4e475f434f494e5f4f524445521f57726f6e67206f72646572206f6620636f696e20706172616d65746572732e000100000f2d380003040707270e0038010c050e0238020c070a050a012603100702270a070a032603160703270b050b070b010b0338030c0a0c090d000b0938040c040d020b0a38050c060b040b0638060c080b000b020b080201010000183c38070c060c050a05060000000000000000210308050d0a06060000000000000000210c04050f090c040b04031205150b000b01020a000a050a0611020c080a080a0125031f05280a080b032603250703270b000b08020a010b060b0511020c070a070b002503330704270a070b022603390702270b070b010202010000191e0a000600000000000000002403060706270a0106000000000000000024030b05100a02060000000000000000240c030512090c030b0303160708270b000b020b0111190c040b04340203010000020d38070c020c0138080c040c030b000b020b010b040b0338090204010000020d38070c020c0138080c040c030b000b010b020b030b04380a02050000001a39380b0c0b0c0a0a0b0b0a170c09380c030a05200b00350b030b040b01350b0235111b34060100000000000000160c070b070b0b180b091a060100000000000000160c060537380d03240705270b010a00170b09180c0c0b000b020b0b180b0c1119060100000000000000160c080b080c050b050c060b0602060000001e48380b0c0d0c0c0a0d0b0c170c0b380c030a05310b000b0b111d0c0a0a0a0a0d35193200000000000000000000000000000000220316051e0b0a0b0d351a3201000000000000000000000000000000160c0505230b0a0b0d351a0c050b050c080b08350b030b040b01350b0235111e340c070546380d03350705270b000b0b180c090b010b0d180a09160c0e0b090b020b0e11190c060b060c070b0702070100001f16380003030508380e0c020c010c000512380f0c030c040c050b040b050b030c020c010c000b000b010b020208010000050a38000303050638100c00050838110c000b000209010000030d38000303050738120c010c00050a38130c010c000b000b01020a010000021138000303050738140c010c00050e38150c020c030b020b030c010c000b000b01020b010000050a38000303050638160c00050838170c000b00020c010000030d38000303050738180c010c00050a38190c010c000b000b01020d010000212638070c050c03381a0c020a00350b03350a0211260c040b00350b05350b0211260c060a04060000000000000000240318051d0a06060000000000000000240c01051f090c010b0103230706270b040b06020e0100000211380003030507381b0c010c00050e381c0c020c030b020b030c010c000b000b01020f010000090a380003030506381d0c000508381e0c000b0002100100000709380003060b00010707270b00381f02110100000c19380003040707270b0038200c040c030e0338010b0126030f0700270e0438020b022603160700270b030b040212010000241638000303050b0b0006000000000000000038210b0138220c020c03051238210b010b0006000000000000000038230c030c020b0338240b02021301000000170a0138250c030e0038010c050a030b0525030c0701270d000b0338040c020b020b0138260c040b000b04021401000025120e0038010c020b0238270c040a040b0126030c0700270b000b0438260c030b030200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "router", + "friends": [], + "exposed_functions": [ + { + "name": "add_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64", + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin", + "0x1::coin::Coin<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>" + ] + }, + { + "name": "calc_optimal_coin_values", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64", + "u64", + "u64", + "u64" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "convert_with_current_price", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_amount_in", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_amount_out", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_cumulative_prices", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u128", + "u128", + "u64" + ] + }, + { + "name": "get_dao_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_dao_fees_config", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_decimals_scales", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_fees_config", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_reserves_for_lp_coins", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_reserves_size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "is_swap_exists", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "register_pool", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "remove_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>", + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_coin_for_coin_unchecked", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin" + ] + }, + { + "name": "swap_coin_for_exact_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_exact_coin_for_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000801000a020a10031a8501049f011e05bd01e40107a103a00208c105600ca106910200000101010202030004010c04010001030d000300010001000100050001030000000006020103000000000700010300000000080301030000000009040103000000000a040103000000000b040103000000010e0708010004050b0c03000000020f020d0001100d0f01000111020101000112100101000406020103000000040812130300000004131516030000000414151303000000041515160300000007060709080a0a0e0b0e0c060c090c0e0d0a000a070e0e0a0f0a100a110a05060c030303030001060c04060c03030303060c030306050b000109000b000109000b000109010b000109010b00010b010309000901090201090002060c03010b0001090001090103090009010902040b00010900030b0001090103030b000109000b000109010b00010b01030900090109020105010b0103090009010902010102050b0001090004050b000109000b000109010b00010b0103090009010902030b00010b01030900090109020303020b000109000b0001090103050b000109000b00010901020b0001090003010b0001090104050b000109000b000109000b00010901077363726970747304636f696e067369676e6572076c705f636f696e06726f757465720d6164645f6c69717569646974790d72656769737465725f706f6f6c1f72656769737465725f706f6f6c5f616e645f6164645f6c69717569646974791072656d6f76655f6c6971756964697479047377617009737761705f696e746f0e737761705f756e636865636b656404436f696e024c500877697468647261770a616464726573735f6f661569735f6163636f756e745f72656769737465726564087265676973746572076465706f73697418737761705f65786163745f636f696e5f666f725f636f696e18737761705f636f696e5f666f725f65786163745f636f696e1c737761705f636f696e5f666f725f636f696e5f756e636865636b6564190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000105a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c9480001040005270a000b0138000c060a000b0338010c080b060b020b080b0438020c0a0c090c070a0011090c050a053803200318051b0b003804051d0b00010a050b0738050a050b0938060b050b0a3807020101040001030b003808020201040001090a0038080b000b010b020b030b043809020301040011140a000b01380a0c070b070b020b03380b0c060c050b0011090c040a040b0538050b040b0638060204010400140f0a000b0138000c040b040b02380c0c050b0011090c030b030b053806020501040017130a000b0138000c040b040b02380d0c060c050b0011090c030a030b0538050b030b0638060206010400140f0a000b0138000c040b040b02380e0c050b0011090c030b030b0538060200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "scripts", + "friends": [], + "exposed_functions": [ + { + "name": "add_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "register_pool", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "register_pool_and_add_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "remove_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_into", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_unchecked", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000c010008020810031837054f1f076eba0208a8034006e803900110f80481030af907100c8908e7010df009020ff2090200010102010300040005080000060800000708000110060000080000000009010000000a010000000b000200000c000200000d010000000e01000002120104000313000400011405060001150809000001060c0101020c060800010501060803010c01080302060c0a02020c08030e6c69717569646974795f706f6f6c09656d657267656e6379076163636f756e74067369676e65720d676c6f62616c5f636f6e6669671a456d657267656e63794163636f756e744361706162696c6974790a497344697361626c65640b4973456d657267656e6379136173736572745f6e6f5f656d657267656e63790f64697361626c655f666f72657665720a696e697469616c697a650b69735f64697361626c65640c69735f656d657267656e637905706175736506726573756d650a7369676e65725f636170105369676e65724361706162696c6974790b64756d6d795f6669656c640a616464726573735f6f66136765745f656d657267656e63795f61646d696e1d6372656174655f7369676e65725f776974685f6361706162696c697479176372656174655f7265736f757263655f6163636f756e74190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e1200000000000000000000000000000000000000000000000000000000000000010308a20f0000000000000308a10f0000000000000308a30f0000000000000308a00f0000000000000308a40f0000000000000520190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e120a021716656d657267656e63795f6163636f756e745f736565640520a6d6e549b917e454464ff6c63f91386d98769ea512bc778bdaca00969f896764126170746f733a3a6d657461646174615f7630ec0205a00f000000000000124552525f4e4f5f5045524d495353494f4e53415768656e207468652077726f6e67206163636f756e7420617474656d7074656420746f2063726561746520616e20656d657267656e6379207265736f757263652ea10f0000000000000d4552525f454d455247454e4359385768656e20617474656d7074656420746f2065786563757465206f7065726174696f6e20647572696e6720616e20656d657267656e63792ea20f0000000000000c4552525f44495341424c4544235768656e20656d657267656e63792066756e6374696f6e616c2064697361626c65642ea30f000000000000114552525f4e4f545f454d455247454e43593f5768656e20617474656d7074656420746f20726573756d652c2062757420776520617265206e6f7420696e20616e20656d657267656e63792073746174652ea40f0000000000000f4552525f554e524541434841424c451353686f756c64206e65766572206f636375722e0002010f0803010201110102020111010001000000061104200305070127020101040100031a11032003070b00010700270b001107110821030e07032707052b000c020b02100011090c010e010912012d01020203000007130a00110707052103090b00010704270a000706110a0c01010b000b0112002d0002030100000003070729010204010000000307072902020501040100031b11032003070b000107002711000b001107110821030f07032707052b000c020b02100011090c010e010912022d02020601040102041911032003070b00010700270b0011070c010b0111082103100703271104031407022707072c02130201020000000000", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "emergency", + "friends": [ + "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool" + ], + "exposed_functions": [ + { + "name": "assert_no_emergency", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [] + }, + { + "name": "disable_forever", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "initialize", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "is_disabled", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "is_emergency", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "pause", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "resume", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + } + ], + "structs": [ + { + "name": "EmergencyAccountCapability", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "signer_cap", + "type": "0x1::account::SignerCapability" + } + ] + }, + { + "name": "IsDisabled", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "IsEmergency", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a0100100210100320cf0204ef025005bf039b0207da058e0508e80a6006c80b6c10b40c86050cba11f1090000010102020003000400050006000701080401000102090003000100010001000a000103000000000b020303000000000c040500000d050503000000000e050503000000000f0605030000000010060503000000001107080300000000120705030000000013070303000000001407030300000000150705030000000016070303000000001705030300000000180703030000000019070903000000001a0a0703000000001b0b0c03000000001c0d0e03000000001d0d0c03000000001e0d0e03000000031f070902000001201205010001211516010005220c170300000004230709010007241c1d00062504050004260709010006271e05000628031d0007291c1d00051107080300000005120705030000000513070303000000051407030300000005150705030000000516070303000000032a071d01000518070303000000052b070903000000052c0a0703000000052d170c03000000012e07160100052f000c0300000001301607010015101611161301141711171318140e140a14051406140c14191b1c1b2014202121142121221422212314232124142421251425212623271427212814282129142a142b132c142c212d11031412140414040b00010900030b0001090103030b000109000b000109010b00010b010309000901090204030303030203030303030301030503030303030003040403010101060c030b00010b01030900090109020303020b000109000b00010901020b0001090003010b00010901070b00010900030b00010901030b00010b01030900090109020303020900090101090001060b000109000109010309000901090202070b0001090003010b00010900010b00010b01030900090109020501030303030201040b03030303040303030404040109020504030304040104030404040c040303040404030303040404060404030304040309010900090206010403030303010b0103090009010902020b000109010b0001090003030b000109010309726f757465725f763204636f696e076c705f636f696e0b636f696e5f68656c706572066375727665730e6c69717569646974795f706f6f6c046d6174680c737461626c655f637572766504436f696e024c500d6164645f6c69717569646974791863616c635f6f7074696d616c5f636f696e5f76616c7565731a636f6e766572745f776974685f63757272656e745f70726963650d6765745f616d6f756e745f696e0e6765745f616d6f756e745f6f7574156765745f636f696e5f696e5f776974685f66656573166765745f636f696e5f6f75745f776974685f66656573156765745f63756d756c61746976655f7072696365730b6765745f64616f5f666565136765745f64616f5f666565735f636f6e666967136765745f646563696d616c735f7363616c6573076765745f6665650f6765745f666565735f636f6e666967196765745f72657365727665735f666f725f6c705f636f696e73116765745f72657365727665735f73697a650e69735f737761705f6578697374730d72656769737465725f706f6f6c1072656d6f76655f6c69717569646974791c737761705f636f696e5f666f725f636f696e5f756e636865636b656418737761705f636f696e5f666f725f65786163745f636f696e18737761705f65786163745f636f696e5f666f725f636f696e0969735f736f727465640576616c75650765787472616374046d696e740969735f737461626c6507636f696e5f696e076d756c5f6469760f69735f756e636f7272656c617465640c6d756c5f6469765f753132380b6d756c5f746f5f7531323808636f696e5f6f757406737570706c790e69735f706f6f6c5f657869737473087265676973746572046275726e047a65726f04737761700c64657374726f795f7a65726f190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000105a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c9480308d0000000000000000308cd000000000000000308ce000000000000000308cb000000000000000308ca000000000000000308cc000000000000000308cf000000000000000308c8000000000000000308c9000000000000000410ffffffffffffffff0000000000000000126170746f733a3a6d657461646174615f7630f10409c800000000000000104552525f57524f4e475f414d4f554e541257726f6e6720616d6f756e7420757365642ec900000000000000114552525f57524f4e475f524553455256451357726f6e67207265736572766520757365642eca00000000000000194552525f494e53554646494349454e545f595f414d4f554e5422496e73756666696369656e7420616d6f756e7420696e20592072657365727665732ecb00000000000000194552525f494e53554646494349454e545f585f414d4f554e5422496e73756666696369656e7420616d6f756e7420696e20582072657365727665732ecc000000000000000f4552525f4f5645524c494d49545f581d4f7665726c696d6974206f66205820636f696e7320746f20737761702ecd000000000000002b4552525f434f494e5f4f55545f4e554d5f4c4553535f5448414e5f45585045435445445f4d494e494d554d1d416d6f756e74206f7574206c657373207468616e206d696e696d756d2ece00000000000000214552525f434f494e5f56414c5f4d41585f4c4553535f5448414e5f4e4545444544244e656564656420616d6f756e7420696e206772656174207468616e206d6178696d756d2ecf000000000000000f4552525f554e524541434841424c45234d61726b732074686520756e726561636861626c6520706c61636520696e20636f6465d0000000000000001c4552525f434f494e5f434f4e56455253494f4e5f4f564552464c4f575350726f766964656420636f696e7320616d6f756e742063616e6e6f7420626520636f6e76657274656420776974686f757420746865206f766572666c6f77206174207468652063757272656e74207072696365000100000f2d380003040700270e0038010c050e0238020c070a050a012603100703270a070a032603160704270b050b070b010b0338030c0a0c090d000b0938040c040d020b0a38050c060b040b0638060c080b000b020b080201010000183c38070c060c050a05060000000000000000210308050d0a06060000000000000000210c04050f090c040b04031205150b000b01020a000a050a0611020c080a080a0125031f05280a080b032603250704270b000b08020a010b060b0511020c070a070b002503330705270a070b022603390703270b070b01020201000019280a000600000000000000002403060707270a0106000000000000000024030b05100a02060000000000000000240c030512090c030b0303160708270b00350b0235180b01351a0c040a0407092503250700270b04340203010000020d38070c020c0138080c040c030b000b020b010b040b0338090204010000020d38070c020c0138080c040c030b000b010b020b030b04380a02050000001a460a010a00240306070427380b0c0c0c0b0a0c0b0b170c0a0b00350c090b02350c0e0b01350c0f380c0319052b0b090b030b040b0f0b0e111a34060100000000000000160c070b070b0c0b0a111b060100000000000000160c060544380d032f0706270b0f0a09170b0a35180c0d0b090b0e0b0c35180b0d111d060100000000000000160c080b080c050b050c060b0602060000001f4b380b0c0d0c0c0a0d0b0c170c0b0a01350c0f0b02350c10380c031005340b000b0b111e0c0a0a0a0a0d3519320000000000000000000000000000000022031c05240b0a0b0d351a3201000000000000000000000000000000160c0505290b0a0b0d351a0c050b050c080b080b030b040b0f0b10111f340c070549380d03380706270b000b0b111e0c090b010b0d111e0a09160c0e0b090b100b0e111d0c060b060c070b0702070100002016380003030508380e0c020c010c000512380f0c030c040c050b040b050b030c020c010c000b000b010b020208010000050a38000303050638100c00050838110c000b000209010000030d38000303050738120c010c00050a38130c010c000b000b01020a010000021138000303050738140c010c00050e38150c020c030b020b030c010c000b000b01020b010000050a38000303050638160c00050838170c000b00020c010000030d38000303050738180c010c00050a38190c010c000b000b01020d010000222638070c050c03381a0c020a00350b03350a02111d0c040b00350b05350b02111d0c060a04060000000000000000240318051d0a06060000000000000000240c01051f090c010b0103230707270b040b06020e0100000211380003030507381b0c010c00050e381c0c020c030b020b030c010c000b000b01020f010000090a380003030506381d0c000508381e0c000b0002100100000709380003060b00010700270b00381f02110100000c19380003040700270b0038200c040c030e0338010b0126030f0701270e0438020b022603160701270b030b040212010000241638000303050b0b0006000000000000000038210b0138220c020c03051238210b010b0006000000000000000038230c030c020b0338240b02021301000000170a0138250c030e0038010c050a030b0525030c0702270d000b0338040c020b020b0138260c040b000b04021401000025120e0038010c020b0238270c040a040b0126030c0701270b000b0438260c030b030200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "router_v2", + "friends": [], + "exposed_functions": [ + { + "name": "add_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64", + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin", + "0x1::coin::Coin<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>" + ] + }, + { + "name": "calc_optimal_coin_values", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64", + "u64", + "u64", + "u64" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "convert_with_current_price", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_amount_in", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_amount_out", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_cumulative_prices", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u128", + "u128", + "u64" + ] + }, + { + "name": "get_dao_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_dao_fees_config", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_decimals_scales", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_fees_config", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_reserves_for_lp_coins", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_reserves_size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "is_swap_exists", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "register_pool", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "remove_liquidity", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>", + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_coin_for_coin_unchecked", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin" + ] + }, + { + "name": "swap_coin_for_exact_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_exact_coin_for_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000a010008020808031019052924074dae0108fb014006bb0247108203580ada03060ce0035d00000101010201030004080001060600000500010000070203000309020500010a060400020b08010003060c0a020a020001060c010801020c0801010502060c0a02010a0203060c0a020a0a020a6c705f6163636f756e74076163636f756e7404636f6465067369676e6572114361706162696c69747953746f7261676515696e697469616c697a655f6c705f6163636f756e74105369676e65724361706162696c6974791372657472696576655f7369676e65725f6361700a7369676e65725f6361700a616464726573735f6f66176372656174655f7265736f757263655f6163636f756e74137075626c6973685f7061636b6167655f74786e190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e1200000000000000000000000000000000000000000000000000000000000000010308a5060000000000000520190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e120a0218176c6971756964737761705f6163636f756e745f73656564126170746f733a3a6d657461646174615f76304401a5060000000000001a4552525f4e4f545f454e4f5547485f5045524d495353494f4e531f5768656e2063616c6c65642066726f6d2077726f6e67206163636f756e742e0002010808010001040004180a00110207012103090b00010700270a00070211030c040c030e030b010b024007010000000000000011040b000b0412002d0002010100010003100a00110207012103090b00010700270b0011022c0013000c010b010200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "lp_account", + "friends": [], + "exposed_functions": [ + { + "name": "initialize_lp_account", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "vector", + "vector" + ], + "return": [] + }, + { + "name": "retrieve_signer_cap", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [ + "0x1::account::SignerCapability" + ] + } + ], + "structs": [ + { + "name": "CapabilityStorage", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "signer_cap", + "type": "0x1::account::SignerCapability" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000801000a020a10031a8501049f011e05bd01e40107a103a60208c705600ca706910200000101010202030004010c04010001030d000300010001000100050001030000000006020103000000000700010300000000080301030000000009040103000000000a040103000000000b040103000000010e0708010004050b0c03000000020f020d0001100d0f01000111020101000112100101000406020103000000040812130300000004131516030000000414151303000000041515160300000007060709080a0a0e0b0e0c060c090c0e0d0a000a070e0e0a0f0a100a110a05060c030303030001060c04060c03030303060c030306050b000109000b000109000b000109010b000109010b00010b010309000901090201090002060c03010b0001090001090103090009010902040b00010900030b0001090103030b000109000b000109010b00010b01030900090109020105010b0103090009010902010102050b0001090004050b000109000b000109010b00010b0103090009010902030b00010b01030900090109020303020b000109000b0001090103050b000109000b00010901020b0001090003010b0001090104050b000109000b000109000b000109010a736372697074735f763204636f696e067369676e6572076c705f636f696e09726f757465725f76320d6164645f6c69717569646974790d72656769737465725f706f6f6c1f72656769737465725f706f6f6c5f616e645f6164645f6c69717569646974791072656d6f76655f6c6971756964697479047377617009737761705f696e746f0e737761705f756e636865636b656404436f696e024c500877697468647261770a616464726573735f6f661569735f6163636f756e745f72656769737465726564087265676973746572076465706f73697418737761705f65786163745f636f696e5f666f725f636f696e18737761705f636f696e5f666f725f65786163745f636f696e1c737761705f636f696e5f666f725f636f696e5f756e636865636b6564190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000105a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c9480001040005270a000b0138000c060a000b0338010c080b060b020b080b0438020c0a0c090c070a0011090c050a053803200318051b0b003804051d0b00010a050b0738050a050b0938060b050b0a3807020101040001030b003808020201040001090a0038080b000b010b020b030b043809020301040011140a000b01380a0c070b070b020b03380b0c060c050b0011090c040a040b0538050b040b0638060204010400140f0a000b0138000c040b040b02380c0c050b0011090c030b030b053806020501040017130a000b0138000c040b040b02380d0c060c050b0011090c030a030b0538050b030b0638060206010400140f0a000b0138000c040b040b02380e0c050b0011090c030b030b0538060200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "scripts_v2", + "friends": [], + "exposed_functions": [ + { + "name": "add_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "register_pool", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "register_pool_and_add_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "remove_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_into", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_unchecked", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000a0100100210120322890104ab011a05c501820107c702dd0208a4054006e4054510a906ae010cd707ac020000010101020103010401050006000704090700020b020005150700032007010000000800000100000a00010100000c0002020000000d000303000000000e0004020000000f00050100011000040100011100010100041208090007130a090004140b01000516000d010005170f1000020c11020100021812040005190f1000051a0f1300041b100100041c150000041d160000061e00040100021f120400010f0019010003211a060100060607060b060b0e0d100d13070e0106010e141702181606170500010800010801020800080001010104010900020308000106080001030203030306080003030b0801080108010508020a020a020508020a020a0201080201090101060802010a0202060900060900010608010105060a020a020a020a0208000800020708000a020207080008000109020209000901010b03010401070b030109000b636f696e5f68656c70657204636f696e0a636f6d70617261746f72066f7074696f6e06737472696e6709747970655f696e666f06637572766573046d6174680e6173736572745f69735f636f696e06537472696e6712636f696e5f73796d626f6c5f70726566697806526573756c7407636f6d706172651b67656e65726174655f6c705f6e616d655f616e645f73796d626f6c0969735f736f7274656406737570706c791369735f636f696e5f696e697469616c697a65640673796d626f6c066c656e677468076d696e5f7536340a7375625f737472696e670854797065496e666f07747970655f6f660b7374727563745f6e616d650869735f657175616c0b6d6f64756c655f6e616d650f6163636f756e745f6164647265737304757466380b617070656e645f7574663806617070656e640969735f737461626c650f69735f736d616c6c65725f7468616e064f7074696f6e0765787472616374190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e1200000000000000000000000000000000000000000000000000000000000000010308b80b0000000000000308b90b000000000000030804000000000000000a0201000a020a094c69717569644c502d0a0202012d0a0203022d530a0202012a0a0203022d55126170746f733a3a6d657461646174615f7630990102b80b0000000000001b4552525f43414e4e4f545f42455f5448455f53414d455f434f494e355768656e20626f746820636f696e7320686176652073616d65206e616d657320616e642063616e2774206265206f7264657265642eb90b0000000000000f4552525f49535f4e4f545f434f494e255768656e2070726f766964656420436f696e54797065206973206e6f74206120636f696e2e000100000005380003040701270201000000070c38010c010e011108070211090c000e010600000000000000000b00110a02020100000c3238020c0438030c080e04110c0c060e08110c0c0a0e060e0a38040c020e02110e20031305150b02020e04110f0c050e08110f0c090e050e0938040c010e01110e20032405260b01020e0411100c030e0811100c070e030e0738050c000b0002030100001434070311110c040d04070411120d04380111130d04070511120d0438061113070311110c050d05380711130d05070511120d05380811133809031e0523070607070c010c000527070807030c010c000b000b010c030c020d040b0211120d050b0311120b040b050204010000020b380a0c000e00110e2003080700270e00111502050100001905380b0c000d00380c0200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "coin_helper", + "friends": [], + "exposed_functions": [ + { + "name": "assert_is_coin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [] + }, + { + "name": "compare", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "0x1::comparator::Result" + ] + }, + { + "name": "generate_lp_name_and_symbol", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "0x1::string::String", + "0x1::string::String" + ] + }, + { + "name": "is_sorted", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "supply", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u128" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000f01000c020c3e034a460490011c05ac01c90107f502f60208eb054006ab061410bf0689010ac8074c0b94080a0c9e08bf010ddd090a0ee7090a0ff10902000101020103010401050006000706030001000100010008060300010001000100090803000100010001000a0803000100010001000b0603000100010001020c04010001031304010601000d000103000000000e020103000000000f030403000000021908090100021a0b010100031b0d010106021c010f0100011d02110106041e021400051f0114000220150f01000307030a0407040a050c0607060a0710070c071205100a070a0a051203050b050109000b050109010001060c04060c050303020b050109000b0501090104070b0203090009010902070b030309000901090203030309000901090201090001060b05010900010301090102070b050109000b05010900010b000309000901090202070b060109000900020b02030900090109020b0303090009010902010b05010900010b0403090009010902010b06010900010b0103090009010902040b050109000b05010901070b0203090009010902070b0303090009010902010502070b05010900030e6c69717569646974795f706f6f6c0b64616f5f73746f72616765076163636f756e7404636f696e056576656e74067369676e65720d676c6f62616c5f636f6e66696712436f696e4465706f73697465644576656e7412436f696e57697468647261776e4576656e740b4576656e747353746f72650753746f726167651353746f72616765437265617465644576656e7404436f696e076465706f73697408726567697374657208776974686472617705785f76616c05795f76616c1973746f726167655f726567697374657265645f68616e646c650b4576656e7448616e646c6515636f696e5f6465706f73697465645f68616e646c6515636f696e5f77697468647261776e5f68616e646c6506636f696e5f7806636f696e5f790b64756d6d795f6669656c640576616c7565056d657267650a656d69745f6576656e74047a65726f106e65775f6576656e745f68616e646c650a616464726573735f6f660d6765745f64616f5f61646d696e0765787472616374190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e1200000000000000000000000000000000000000000000000000000000000000010308920100000000000003089101000000000000126170746f733a3a6d657461646174615f763075029101000000000000124552525f4e4f545f524547495354455245441b5768656e2073746f7261676520646f65736e2774206578697374739201000000000000154552525f4e4f545f41444d494e5f4143434f554e541e5768656e20696e76616c69642044414f2061646d696e206163636f756e740002021003110301020210031103020203120b06010b0403090009010902140b06010b0003090009010902150b06010b0103090009010902030202160b05010900170b0501090104020118010306020600060406010600030002020305200a003b0003050701270e0138000c050e0238010c060a003c000c040a0436000b0138020b0436010b0238030b003c010c030b0336020b050b063902380402010300000e183805380639000c020a000b023f000a0038070a0038080a00380939010c010d013603093903380a0b000b013f010202010002020313200b00110811092103070700270a013c000c070a0736000a02380b0c040b0736010a03380c0c050b013c010c060b0636040b020b033904380d0b040b05020300030102010200020200060106020603060406000000", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "dao_storage", + "friends": [ + "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool" + ], + "exposed_functions": [ + { + "name": "deposit", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "0x1::coin::Coin", + "0x1::coin::Coin" + ], + "return": [] + }, + { + "name": "register", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "withdraw", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "address", + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + } + ], + "structs": [ + { + "name": "CoinDepositedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "x_val", + "type": "u64" + }, + { + "name": "y_val", + "type": "u64" + } + ] + }, + { + "name": "CoinWithdrawnEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "x_val", + "type": "u64" + }, + { + "name": "y_val", + "type": "u64" + } + ] + }, + { + "name": "EventsStore", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "storage_registered_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::dao_storage::StorageCreatedEvent>" + }, + { + "name": "coin_deposited_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::dao_storage::CoinDepositedEvent>" + }, + { + "name": "coin_withdrawn_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::dao_storage::CoinWithdrawnEvent>" + } + ] + }, + { + "name": "Storage", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "coin_x", + "type": "0x1::coin::Coin" + }, + { + "name": "coin_y", + "type": "0x1::coin::Coin" + } + ] + }, + { + "name": "StorageCreatedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000801000402040403084b05536307b6017308a9024006e902120cfb02850500000101010407000002000100000300010000050203000006020300000704030000080503000109010300010a020300010b080300010c020300010d020300010e030100010f020300011007030001110b0c000504030304040104020800080001080003080008000800040403040308080008000800080008000800080008000001030608000800080008000800080006010800020308000800020608000608000102090800080008000800080008000800080008000c737461626c655f6375727665047532353607636f696e5f696e08636f696e5f6f7574045532353601640166056765745f79086c705f76616c75650966726f6d5f75313238036d756c0866726f6d5f75363403646976037375620761735f7531323803616464047a65726f07636f6d70617265190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e124e9fce03284c0ce0b86c88dd5a46f050cad2f4f33c4cdd29d98f501868558c81041000e1f505000000000000000000000000000100000636070011060c0a0a040a020a030a0111050c0c0b0411060a0a11070a02110811090c070b0311060a0a11070a01110811090c080b0011060a0a11070b01110811090c050b080b05110a0c090b090b0c0a0711040b07110a0c0b0b0b0b02110811070b0a11090c060b06110b02010100000636070011060c0a0a030a010a040a0211050c0b0b0311060a0a11070a01110811090c070b0411060a0a11070a02110811090c080b0011060a0a11070b01110811090c050b050b07110c0c090a080b090b0b0b081104110a0c0c0b0c0b02110811070b0a11090c060b06110b0202000000091b320300000000000000000000000000000011060c020b020a0011070c030a010b0111070c070b030b0711070c060a000a0011070c040b040b0011070c050b060b05110c0203000000091c0a010a0111070c060b060a0111070c070a000b0711070c020a000a0011070c040b040b0011070c050b050b0111070c030b020b03110c02040000000a500600000000000000000c06320100000000000000000000000000000011060c080a0606ff0000000000000023030a054e0a000a0211030c07110d010e070e01110e0c050b05310121031905280a010b07110a0a000a02110211090a08110c0c040b020a04110c0c0205340b070a01110a0a000a02110211090c040b020a04110a0c020e040e08110e0c050a05310021033d0540080c0305440b053101210c030b03034705490b02020b06060100000000000000160c0605050b0202050100000d2b0b0011060c0a0b0211060c0c070011060c080b0111080c090b0311080c0b0b0a0a0811070b0911090c060b0c0b0811070b0b11090c070a060a0711070c040a060b0611070a070b071107110c0c050b040b0511070200", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "stable_curve", + "friends": [], + "exposed_functions": [ + { + "name": "coin_in", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u64", + "u64", + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "coin_out", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u64", + "u64", + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "lp_value", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u64", + "u128", + "u64" + ], + "return": [ + "0x4e9fce03284c0ce0b86c88dd5a46f050cad2f4f33c4cdd29d98f501868558c81::u256::U256" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000d01000a020a12031c660482010a058c013c07c801ee0408b6064006f6068a01108008e9010ae909290c920a95050da70f120fb90f02000101020103010400050006080000070800000806000217040106010009000100000a000100000b010200000c010000000d01000100000e010200000f0102000010030100001104010000120501000013050101000014040100001504010004210101010004220106010004230106010003240302000125030b010602260e0101060d090e090f09110a120a010300010501060c02060c0502060c03010101060801030303060801010900010802010b03010900010708010207080107080002070b0301090009000e6c69717569646974795f706f6f6c0d676c6f62616c5f636f6e666967076163636f756e74056576656e74067369676e6572066375727665730b4576656e747353746f72650c476c6f62616c436f6e6669671555706461746544656661756c744665654576656e74146173736572745f76616c69645f64616f5f666565106173736572745f76616c69645f6665650d6765745f64616f5f61646d696e136765745f64656661756c745f64616f5f6665650f6765745f64656661756c745f666565136765745f656d657267656e63795f61646d696e0d6765745f6665655f61646d696e0a696e697469616c697a650d7365745f64616f5f61646d696e137365745f64656661756c745f64616f5f6665650f7365745f64656661756c745f666565137365745f656d657267656e63795f61646d696e0d7365745f6665655f61646d696e1f64656661756c745f756e636f7272656c617465645f6665655f68616e646c650b4576656e7448616e646c651964656661756c745f737461626c655f6665655f68616e646c651664656661756c745f64616f5f6665655f68616e646c651164616f5f61646d696e5f6164647265737317656d657267656e63795f61646d696e5f61646472657373116665655f61646d696e5f616464726573731864656661756c745f756e636f7272656c617465645f6665651264656661756c745f737461626c655f6665650f64656661756c745f64616f5f66656503666565126173736572745f76616c69645f63757276650969735f737461626c650f69735f756e636f7272656c617465640a616464726573735f6f66106e65775f6576656e745f68616e646c650a656d69745f6576656e74190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000103082c0100000000000003082e0100000000000003082d0100000000000003082f010000000000000308640000000000000003080000000000000000030801000000000000000520190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12052063e39817ec41fad2e8d0713cc906a5f792e4cd2cf704f8b5fab6b2961281fa11126170746f733a3a6d657461646174615f7630d401042c01000000000000194552525f434f4e4649475f444f45535f4e4f545f45584953541b5768656e20636f6e66696720646f65736e2774206578697374732e2d010000000000000d4552525f4e4f545f41444d494e165768656e2075736572206973206e6f742061646d696e2e010000000000000f4552525f494e56414c49445f464545175768656e20696e76616c69642066656520616d6f756e742f010000000000000f4552525f554e524541434841424c451f556e726561636861626c652c206973206120627567206966207468726f776e000203160b03010802180b03010802190b030108020102061a051b051c051d031e031f03020201200300010000061107050a00250305050a0b000704250c01050c090c010b0103100701270201010000061107060a00250305050a0b000704250c01050c090c010b010310070127020201000101070c07072901030507002707072b010c000b00100014020301000101070c07072901030507002707072b010c000b00100114020401000101081f380007072901030607002707072b010c023801030c05110b021002140c01051d380203170b02010703270b021003140c000b000c010b01020501000101070c07072901030507002707072b010c000b00100414020601000101070c07072901030507002707072b010c000b001005140207030000011c0a00111007072103090b00010703270a00070807080708061e0000000000000006040000000000000006210000000000000012012d010a000a0038030a0038030b00380312002d000208010401010c1a0707290103070b000107002707072a010c020a021000140b0011102103150b02010702270b010b020f0015020901040200010d240707290103070b000107002707072a010c020a021005140b0011102103150b02010702270a0111000a010b020f011507072a000c030b030f060b0112023804020a01040200010d3a38000707290103080b000107002707072a010c020a021005140b0011102103160b02010702270a01110107072a000c033801031e05280a010b020f02150b030f070b01120238040539380203300b03010b02010703270a010b020f03150b030f080b0112023804020b010401010c1a0707290103070b000107002707072a010c020a021004140b0011102103150b02010702270b010b020f0415020c010401010c1a0707290103070b000107002707072a010c020a021005140b0011102103150b02010702270b010b020f051502010001050104010301010102000200010000000000", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "global_config", + "friends": [ + "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool" + ], + "exposed_functions": [ + { + "name": "assert_valid_dao_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64" + ], + "return": [] + }, + { + "name": "assert_valid_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64" + ], + "return": [] + }, + { + "name": "get_dao_admin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "address" + ] + }, + { + "name": "get_default_dao_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_default_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_emergency_admin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "address" + ] + }, + { + "name": "get_fee_admin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "address" + ] + }, + { + "name": "initialize", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "set_dao_admin", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "set_default_dao_fee", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "set_default_fee", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "set_emergency_admin", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "set_fee_admin", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + } + ], + "structs": [ + { + "name": "EventsStore", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "default_uncorrelated_fee_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::global_config::UpdateDefaultFeeEvent>" + }, + { + "name": "default_stable_fee_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::global_config::UpdateDefaultFeeEvent>" + }, + { + "name": "default_dao_fee_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::global_config::UpdateDefaultFeeEvent>" + } + ] + }, + { + "name": "GlobalConfig", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "dao_admin_address", + "type": "address" + }, + { + "name": "emergency_admin_address", + "type": "address" + }, + { + "name": "fee_admin_address", + "type": "address" + }, + { + "name": "default_uncorrelated_fee", + "type": "u64" + }, + { + "name": "default_stable_fee", + "type": "u64" + }, + { + "name": "default_dao_fee", + "type": "u64" + } + ] + }, + { + "name": "UpdateDefaultFeeEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "fee", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000e0100240224ab0103cf01b6030485056405e905eb0507d40bde0d08b219800106b21ada01108c1cd8070ae423ef010bd325160ce925c9120db2382a0edc38280000010101020103010401050106020700080009000a000b000c000d000e000f031003110012080300010001000100130003000100010001001406030001000100010015060300010001000100160803000100010001001706030001000100010018060300010001000100190800001a0603000100010001001b0603000100010001001c0603000100010001001d060300010001000102200401000107210003000100010001033804010601024f05010001025105010001015b0600105e0700027305010001057407001185010700001e00010100001f01010300000000220203030000000023040503000000002401060300000000250107030000000026010403000000002701040300000000280107030000000029010403000000002a010403000000002b080100002c010903000000002d010903000000002e030203000000002f0a0b01000030050103000000003108010300000000320c010300000000330c010300000000340d010300000000350e030300000000360d0103000000095f010901000f6011120010611314000962010901001063151200106407120010651612000866010902000002671c0701000868011501000e691e0700026a1f200100022221010100036b230101060b6c010100046d0828000d6e0827000c2b0801000b2b0801000e6f0415000e7015070002712a010100022e2b2001000e722e070008750101010009760101010001773334000878013503000000022b36370100027938010100027a011401000e7b140700027c012001000c7d010701000c7e0107000a31080103000000017f083a01060c80010128000c81010701000c82010701000a83014101030000000684010107001186010444001187014415000e88010b150017101a101e1a01181f1b201b1f101f1d2210221d1618231b2422051808182c102c1d2d1b242c0f300030141824312f102f1d30303218331b341b17303510351d3710371d38303a183b393b2c3b223b3b3b313b3c3b3d3b3e2439243e243d3f18243b243c0603030404040400010b0c010b0d03090009010902020b0c0109000b0c010901020303030b0c0109000b0c0109010b010309000901090203040403010301060c010105030303030302040402060c0303070b04030900090109020303040b0c010900030b0c0109010307020208120812081204081201090004040304030108120206081206081201020104020812081201060b0403090009010902030900090109020b0103070b000309000901090204070b04030900090109020b0c01090003030b0c01090103030209000901010b0d0309000901090201060b0c0109000109010304040402070b0c01090003010b0c010900020b0c010900060b10010900010b050309000901090202070b0e01090009000601070b040309000901090203030b0c0109000b0c01090104030404060b040309000901090203060b0403090009010902030301081101050e0303070b0003090009010902030b0c010b0d0309000901090204070b04030900090109020303030303030302070b0c0109000b0c0109000203060b0f010900010b030309000901090206040404040404030303030b01070b0003090009010902070b04030900090109020303040303030403010902010b02030900090109020b0b00030900090109020b10010b0d030900090109020b13010b0d030900090109020b0f010b0d03090009010902081408140b04030900090109020c060807030301060811010c020814081405060c081408140201030b100109000b130109000b0f010900010b13010900010b0803090009010902010b0e010900010b0903090009010902010b0603090009010902010b0b03090009010902010b0a0309000901090202070b0003090009010902070b040309000901090208030303030b0c010900030b0c0109010303050b0c0109000b0c010901100103030303070b0e010b0903090009010902070b0003090009010902070b04030900090109020304030b0c0109000304030b0c01090108010103070b0003090009010902030404040108150e6c69717569646974795f706f6f6c076163636f756e7404636f696e056576656e74067369676e657206737472696e670974696d657374616d70076c705f636f696e0b636f696e5f68656c706572066375727665730b64616f5f73746f7261676509656d657267656e63790d676c6f62616c5f636f6e6669670a6c705f6163636f756e74046d6174680c737461626c655f6375727665047532353607757136347836340b4576656e747353746f726509466c6173686c6f616e0e466c6173686c6f616e4576656e74134c697175696469747941646465644576656e740d4c6971756964697479506f6f6c154c697175696469747952656d6f7665644576656e74124f7261636c65557064617465644576656e7415506f6f6c4163636f756e744361706162696c69747910506f6f6c437265617465644576656e7409537761704576656e741155706461746544414f4665654576656e740e5570646174654665654576656e741c6173736572745f6c705f76616c75655f69735f696e63726561736564146173736572745f706f6f6c5f756e6c6f636b656404436f696e024c50046275726e09666c6173686c6f616e156765745f63756d756c61746976655f7072696365730b6765745f64616f5f666565136765745f64616f5f666565735f636f6e666967136765745f646563696d616c735f7363616c6573076765745f6665650f6765745f666565735f636f6e666967116765745f72657365727665735f73697a650a696e697469616c697a650e69735f706f6f6c5f6578697374730e69735f706f6f6c5f6c6f636b6564046d696e741e6e65775f72657365727665735f61667465725f666565735f7363616c65640d7061795f666c6173686c6f616e0872656769737465720b7365745f64616f5f666565077365745f6665651073706c69745f6665655f746f5f64616f04737761700d7570646174655f6f7261636c6513706f6f6c5f637265617465645f68616e646c650b4576656e7448616e646c65166c69717569646974795f61646465645f68616e646c65186c69717569646974795f72656d6f7665645f68616e646c650b737761705f68616e646c6510666c6173686c6f616e5f68616e646c65156f7261636c655f757064617465645f68616e646c65117570646174655f6665655f68616e646c65157570646174655f64616f5f6665655f68616e646c6506785f6c6f616e06795f6c6f616e04785f696e05785f6f757404795f696e05795f6f75740b61646465645f785f76616c0b61646465645f795f76616c126c705f746f6b656e735f72656365697665640e636f696e5f785f726573657276650e636f696e5f795f72657365727665146c6173745f626c6f636b5f74696d657374616d70176c6173745f70726963655f785f63756d756c6174697665176c6173745f70726963655f795f63756d756c61746976650b6c705f6d696e745f6361700e4d696e744361706162696c6974790b6c705f6275726e5f6361700e4275726e4361706162696c69747907785f7363616c6507795f7363616c65066c6f636b6564036665650764616f5f6665650e72657475726e65645f785f76616c0e72657475726e65645f795f76616c106c705f746f6b656e735f6275726e65640a7369676e65725f636170105369676e65724361706162696c6974790763726561746f72076e65775f66656504553235360969735f737461626c65086c705f76616c756507636f6d706172650f69735f756e636f7272656c617465640966726f6d5f753132380866726f6d5f753634036d756c0969735f736f727465640576616c756506737570706c790c6d756c5f6469765f7531323807657874726163740a656d69745f6576656e74136173736572745f6e6f5f656d657267656e63790a616464726573735f6f661372657472696576655f7369676e65725f6361700b6d756c5f746f5f753132380473717274056d65726765076d756c5f64697610467265657a654361706162696c69747906537472696e670e6173736572745f69735f636f696e126173736572745f76616c69645f63757276651d6372656174655f7369676e65725f776974685f6361706162696c6974791b67656e65726174655f6c705f6e616d655f616e645f73796d626f6c1264657374726f795f667265657a655f63617008646563696d616c7306706f775f3130047a65726f0f6765745f64656661756c745f666565136765745f64656661756c745f64616f5f666565106e65775f6576656e745f68616e646c650d6765745f6665655f61646d696e146173736572745f76616c69645f64616f5f666565106173736572745f76616c69645f666565076465706f7369740b6e6f775f7365636f6e64730755513634783634086672616374696f6e07746f5f753132380c6f766572666c6f775f616464190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000105a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c9484e9fce03284c0ce0b86c88dd5a46f050cad2f4f33c4cdd29d98f501868558c81030864000000000000000308680000000000000003086e0000000000000003086a000000000000000308690000000000000003087000000000000000030866000000000000000308670000000000000003086d0000000000000003086b000000000000000308650000000000000003086f0000000000000003086c00000000000000030810270000000000000308e803000000000000052005a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c9480520190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12126170746f733a3a6d657461646174615f7630c3070d6400000000000000174552525f57524f4e475f504149525f4f52444552494e47335768656e20636f696e73207573656420746f20637265617465207061697220686176652077726f6e67206f72646572696e672e6500000000000000184552525f504f4f4c5f4558495354535f464f525f50414952245768656e207061697220616c726561647920657869737473206f6e206163636f756e742e6600000000000000204552525f4e4f545f454e4f5547485f494e495449414c5f4c4951554944495459215768656e206e6f7420656e6f756768206c6971756964697479206d696e7465642e6700000000000000184552525f4e4f545f454e4f5547485f4c4951554944495459215768656e206e6f7420656e6f756768206c6971756964697479206d696e7465642e6800000000000000114552525f454d5054595f434f494e5f494e335768656e20626f7468205820616e6420592070726f766964656420666f7220737761702061726520657175616c207a65726f2e6900000000000000124552525f494e434f52524543545f535741504b5768656e20696e636f727265637420494e732f4f55547320617267756d656e74732070617373656420647572696e67207377617020616e64206d61746820646f65736e277420776f726b2e6a00000000000000194552525f494e434f52524543545f4255524e5f56414c5545531d496e636f7272656374206c7020636f696e206275726e2076616c7565736b00000000000000174552525f504f4f4c5f444f45535f4e4f545f4558495354225768656e20706f6f6c20646f65736e27742065786973747320666f7220706169722e6c000000000000000f4552525f554e524541434841424c451353686f756c64206e65766572206f636375722e6d00000000000000284552525f4e4f545f454e4f5547485f5045524d495353494f4e535f544f5f494e495449414c495a45525768656e2060696e697469616c697a65282960207472616e73616374696f6e206973207369676e6564207769746820616e79206163636f756e74206f74686572207468616e20406c6971756964737761702e6e00000000000000134552525f454d5054595f434f494e5f4c4f414e385768656e20626f7468205820616e6420592070726f766964656420666f7220666c6173686c6f616e2061726520657175616c207a65726f2e6f00000000000000124552525f504f4f4c5f49535f4c4f434b4544145768656e20706f6f6c206973206c6f636b65642e70000000000000000d4552525f4e4f545f41444d494e165768656e2075736572206973206e6f742061646d696e000208370b0e010b0803090009010902390b0e010b03030900090109023a0b0e010b05030900090109023b0b0e010b09030900090109023c0b0e010b02030900090109023d0b0e010b06030900090109023e0b0e010b0b030900090109023f0b0e010b0a0309000901090201020240034103020204420343034403450303020346034703480304020c490b0c0109004a0b0c0109014b034c044d044e0b0f010b0d03090009010902500b10010b0d03090009010902520353035401550356030502035703580359030602024c044d040702015a08110802015c0509020442034303440345030a02015d030b02015d0304180018051801180318021808180a180b1809180618000000000f3c38000303051a0b020a000b030a0111180c0a0b040b000b050b0111180c080e080e0a11190c060b063102210319070427053b3801031d05390b020b03180c0b0b0b111b070d070d18111c111d0c0c0b04111b0b05111b111d0c090e090e0c11190c070b07310221033b070427070c27020100000104170c070f3d000c000b003700140921030b070b2702020100020004195938020304070027070f3b00030907092738030e0038040c02070f3c000c0538050c040a05370138060c070a05370238070c0a0a02350a07350a0411210c080a02350a0a350b0411210c0b0a0806000000000000000024032d05320a0b060000000000000000240c010534090c010b01033a0b05010703270a0536010a0838080c060a0536020a0b38090c090a050b070b0a380a0b000b053703380b070f3c010c030b0336040b080b0b0b023902380c0b060b0902030100020004243e112538020305070027070f3b00030a07092738030a000600000000000000002403100513080c0205170a01060000000000000000240c020b02031b070227070f3c000c030a03370138060c040a03370238070c050a0336010a0038080c060a0336020a0138090c07080a033600150b030b040b05380a0b060b070b000b013903020401000104251e112538020305070027070f3b00030a0709273803070f3d000c030a033705140c010a033706140c020b033707140c000b010b020b00020501000104171038020304070027070f3b000309070927070f3d000c000b003708140206010001040103380d0700020701000104171338020304070027070f3b000309070927070f3d000c000a003709140b00370a14020801000104171038020304070027070f3b000309070927070f3d000c000b00370b140209010001040103380e070d020a010001042619112538020305070027070f3b00030a0709273803070f3d000c000a00370138060c010b00370238070c020b010b02020b01040027150a00112607102103090b00010708270a0011270c010a000b0112072d070a0011280b001129020c010000010738020304070027070f3b00020d01000104171038020304070027070f3b000309070927070f3d000c000b00370014020e01000200042976112538020305070027070f3b00030a070927380338050c07070f3c000c080a08370138060c0c0a08370238070c0f0e0038060c0b0e0138070c0e0a07320000000000000000000000000000000021032305350a0b0a0e112a112b0c050a05070e2403300b08010706270b05070e170c03054f0a0b350a070a0c3511210c0a0a0e350b070a0f3511210c0d0a0a0a0d230348054b0b0a0c02054d0b0d0c020b020c030b030c090a090600000000000000002403590b08010707270a0836010b00380f0a0836020b0138100a090a08370c38110c060b080b0c0b0f380a070f3c010c040b04360d0b0b0b0e0b09390438120b06020f0000002d3b38010303050c0b00070d112a0b020a04112a170c06051a38000310070c270b000b020a04070d112e17350c050b050c060b060c093801031f05280b01070d112a0b030b04112a170c0805363800032c070c270b010b030b04070d112e17350c070b070c080b080c0a0b090b0a021001000200042f6e112538020305070027070f3b00030a0709270b023a030c0b0c070e0038060c060e0138070c0a0a06060000000000000000240319051c080c0305200a0a060000000000000000240c030b030324070127070f3c000c050a05370138060c090a05370238070c0d0b090a07160c090b0d0a0b160c0d0a0536010b00380f0a0536020b0138100a05370138060a05370238070a060a0a0a05370b1438130c0c0c080a053709140a05370a140b09350b0d350b080b0c38140a050a060a0a3815090b05360015070f3c010c040b04360e0b060b070b0a0b0b390538160211010001073263112538173818380203090b00010700273819070f3b002003120b0001070a2707102b070c090b09100f11310c08381a0c060c050e080b050b06310608381b0c040c030c020b03381c0600000000000000000c0a0600000000000000000c0b381d032e0534381e11360c0a381f11360c0b38203821060000000000000000320000000000000000000000000000000032000000000000000000000000000000000b040b020b0a0b0b093822113939000c070e080b073f000e0838230e0838240e0838250e0838260e0838270e0838280e0838290e08382a0e08382b39010c010d01360f0b0011263906382c0e080b013f01021201040200043f27380203060b0001070027070f3b00030d0b000107092738030b001126113c2103150705270a01113d070f3c000c030a010b03360815070f3c010c020b0236100b013907382d021301040200043f27380203060b0001070027070f3b00030d0b000107092738030b001126113c2103150705270a01113e070f3c000c030a010b03360b15070f3c010c020b0236110b013908382e0214000000403b0a00370b140c0a0a003708140c040a0a0a0418070019060000000000000000220311051a0b0a0b041807001a060100000000000000160c0305200b0a0b041807001a0c030b030c050b010a05070d112e0c060b020b05070d112e0c080a0036010b0638080c070b0036020b0838090c09070f0b070b09382f02150100020004427b112538020305070027070f3b00030a07092738030e0038060c0c0e0238070c100a0c0600000000000000002403160519080c04051d0a10060000000000000000240c040b040321070127070f3c000c0b0a0b370138060c0e0a0b370238070c120a0b36010b00380f0a0b36020b0238100a0b36010a0138080c0f0a0b36020a0338090c130a0b370138060a0b370238070a0c0a100a0b370b1438130c110c0d0a0b3709140a0b370a140a0e350a12350b0d350b113538140a0b0a0c0a1038150b0b0b0e0b12380a070f3c010c0a0b0a36120c090b0c0c050b100c060b010c070b030c080b090b050b070b060b08390938300b0f0b1302160000010043540a003707140c0711400c050a050b0717350c0a0a0a320000000000000000000000000000000024031005150a01060000000000000000220c030517090c030b03031a051f0a02060000000000000000220c040521090c040b040324054f0a020a01114111420a0a180c080b010b02114111420b0a180c090a003705140b0811430a003605150a003706140b0911430a00360615070f3c010c060b0636130a003705140a00370614390a38310b050b003607150204090400040104060002040304040402040b04070408040a04050001000407000000000700060003000500180118021803180418051806180718081809180a180b180c180d180e181018111812181318141800", + "abi": { + "address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12", + "name": "liquidity_pool", + "friends": [], + "exposed_functions": [ + { + "name": "burn", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "flashloan", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "u64", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin", + "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::Flashloan" + ] + }, + { + "name": "get_cumulative_prices", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u128", + "u128", + "u64" + ] + }, + { + "name": "get_dao_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_dao_fees_config", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_decimals_scales", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_fee", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64" + ] + }, + { + "name": "get_fees_config", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "get_reserves_size", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "initialize", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "is_pool_exists", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "is_pool_locked", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "mint", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ], + "return": [ + "0x1::coin::Coin<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>" + ] + }, + { + "name": "pay_flashloan", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "0x1::coin::Coin", + "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::Flashloan" + ], + "return": [] + }, + { + "name": "register", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "set_dao_fee", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "set_fee", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [] + }, + { + "name": "swap", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64", + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + } + ], + "structs": [ + { + "name": "EventsStore", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "pool_created_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::PoolCreatedEvent>" + }, + { + "name": "liquidity_added_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::LiquidityAddedEvent>" + }, + { + "name": "liquidity_removed_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::LiquidityRemovedEvent>" + }, + { + "name": "swap_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::SwapEvent>" + }, + { + "name": "flashloan_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::FlashloanEvent>" + }, + { + "name": "oracle_updated_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::OracleUpdatedEvent>" + }, + { + "name": "update_fee_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::UpdateFeeEvent>" + }, + { + "name": "update_dao_fee_handle", + "type": "0x1::event::EventHandle<0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12::liquidity_pool::UpdateDAOFeeEvent>" + } + ] + }, + { + "name": "Flashloan", + "is_native": false, + "abilities": [], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "x_loan", + "type": "u64" + }, + { + "name": "y_loan", + "type": "u64" + } + ] + }, + { + "name": "FlashloanEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "x_in", + "type": "u64" + }, + { + "name": "x_out", + "type": "u64" + }, + { + "name": "y_in", + "type": "u64" + }, + { + "name": "y_out", + "type": "u64" + } + ] + }, + { + "name": "LiquidityAddedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "added_x_val", + "type": "u64" + }, + { + "name": "added_y_val", + "type": "u64" + }, + { + "name": "lp_tokens_received", + "type": "u64" + } + ] + }, + { + "name": "LiquidityPool", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "coin_x_reserve", + "type": "0x1::coin::Coin" + }, + { + "name": "coin_y_reserve", + "type": "0x1::coin::Coin" + }, + { + "name": "last_block_timestamp", + "type": "u64" + }, + { + "name": "last_price_x_cumulative", + "type": "u128" + }, + { + "name": "last_price_y_cumulative", + "type": "u128" + }, + { + "name": "lp_mint_cap", + "type": "0x1::coin::MintCapability<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>" + }, + { + "name": "lp_burn_cap", + "type": "0x1::coin::BurnCapability<0x5a97986a9d031c4567e15b797be516910cfcb4156312482efc6a19c0a30c948::lp_coin::LP>" + }, + { + "name": "x_scale", + "type": "u64" + }, + { + "name": "y_scale", + "type": "u64" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "fee", + "type": "u64" + }, + { + "name": "dao_fee", + "type": "u64" + } + ] + }, + { + "name": "LiquidityRemovedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "returned_x_val", + "type": "u64" + }, + { + "name": "returned_y_val", + "type": "u64" + }, + { + "name": "lp_tokens_burned", + "type": "u64" + } + ] + }, + { + "name": "OracleUpdatedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "last_price_x_cumulative", + "type": "u128" + }, + { + "name": "last_price_y_cumulative", + "type": "u128" + } + ] + }, + { + "name": "PoolAccountCapability", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "signer_cap", + "type": "0x1::account::SignerCapability" + } + ] + }, + { + "name": "PoolCreatedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "creator", + "type": "address" + } + ] + }, + { + "name": "SwapEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "x_in", + "type": "u64" + }, + { + "name": "x_out", + "type": "u64" + }, + { + "name": "y_in", + "type": "u64" + }, + { + "name": "y_out", + "type": "u64" + } + ] + }, + { + "name": "UpdateDAOFeeEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "new_fee", + "type": "u64" + } + ] + }, + { + "name": "UpdateFeeEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "new_fee", + "type": "u64" + } + ] + } + ] + } + } +] \ No newline at end of file diff --git a/projects/simple-aptos-coin/abis/aptos/pancake-swap.json b/projects/simple-aptos-coin/abis/aptos/pancake-swap.json new file mode 100644 index 00000000..a8c0d29f --- /dev/null +++ b/projects/simple-aptos-coin/abis/aptos/pancake-swap.json @@ -0,0 +1,1549 @@ +[ + { + "bytecode": "0xa11ceb0b0500000006010002030219051b12072d1e084b200c6bdc02000000010001000002020300000300010000040401000005010100020404010402030301030204020404040404046d617468036d6178076d61785f753634036d696e03706f770473717274c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa00010000010c0a000a0123030505080b010c02050a0b000c020b020201010000030c0a000a0123030505080b010c02050a0b000c020b020202010000010c0a000a0124030505080b010c02050a0b000c020b020203010000011c32010000000000000000000000000000000c020a0131011c3101210309050d0b020a00180c020b013101300c010a000b00180c000a01310021031a05020b020204010000052e0a00320400000000000000000000000000000023030505120b00320000000000000000000000000000000021030a050d32000000000000000000000000000000000c01050f32010000000000000000000000000000000c010b010c02052c0a000c040a0032020000000000000000000000000000001a3201000000000000000000000000000000160c030a030a0423031f052a0a030c040a000a031a0b031632020000000000000000000000000000001a0c03051a0b040c020b020200", + "abi": { + "address": "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa", + "name": "math", + "friends": [], + "exposed_functions": [ + { + "name": "max", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "max_u64", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "min", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u128" + ], + "return": [ + "u128" + ] + }, + { + "name": "pow", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128", + "u8" + ], + "return": [ + "u128" + ] + }, + { + "name": "sqrt", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128" + ], + "return": [ + "u128" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000f01001c021c70038c01ef0304fb048e01058906a30707ac0db80c08e4194006a41a940310b81df0040aa822b3010bdb230e0ce923d5170dbe3b200ede3b1a0ff83b02000101020103010401050106010701080109010a010b000c000d000e000f0602000100010010080200010001001106000012080200010001001306020001000100140602000100010015080000160802000100010017080200010001031904010001032b0501000108480700044a0401060101500600035805010001035a050100010d760700057f0701000000180001020000001a0203020000001b0405020000001c0605020000001d050700001e0809020000001f0a05010000200a0502000000210b0502000000220c0502000000230d0b02000000240d0c020000002505070000260a05000027050e0200000028070f02000000290510020000002a110f020000002c1208020000002d1305020000002e0a05020000002f14150200000030080902000000311605000032160500000115020200000033170f02000000340b020200000035170f02000000360c020200000037180f020000003819020200000039180f020000003a1a02020000003b0515020000003c0501020000003d051b020000003e1c05020000003f1d050000400a05020000035e140b0100075f0a07000360230f01000361240501000462260501060c63010f000364280b0100031e2e0501000365070e010003660a05010001673031000868323300036905330100086a340500086b350500086c360f00036d37380100036e050b0100016f0a3901060a700533010003713d0501000672163f000373070f01000b741b1b000b75411b000329430b01000d770f47000d784847000d794847000d7a494a000d7b054a000d7c054a00037d0b0501000c7e010f0003800105520100058101531f0103098201050f000283011d05000c8401050e020000038501560b0100281f282001212a2206222b222b1f2b202c252a1f2a2023212e1f2e200821092110212c2a112124212f220a210b212521301f311f0e21341f342038223922391f39203a253a3a3a2a3b1f3b202c3b14213c1f3c203a3b3e22132112213c224122312228221621061f06202c3a052122211b21481f19211d2148201f2121214a224b1b4e214f222a584f5806582b5803060c030303030303020b090109000b090109010603030b09010b010209000901030b090109000b0901090105060c03030303000505030303030105010b09010b010209000901030b090109000b090109010301060c010b09010900010b090109010203070b07020900090101010103020b09010b01020900090103030303070b0702090009010203060b0a010b010209000901030503060b0a010b01020900090102060c0302030302060c0503060c030504060c030305020b0901090003020b09010901030104030303070b08020900090103060c0a020a0a020903030b090109000b090109010b09010b0102090009010303070b030209000901050109000109010209000901010b01020900090101060b0901090002050b09010900010b00020900090102070b0c0109000900110103030303030303030303030b090109000b090109010b09010b010209000901030302070b090109000302070b03020900090105010b05020900090101070b030209000901010708060c01030303030303070b070209000901070b080209000901040b090109000b09010901020b09010900060b0e0109000b0b0e010b0102090009010b0f010b010209000901080b0b0a010b010209000901080b080b0c05070806080b080b0106080d010c010a0201080b0207080b080b0207080b0a020106080b05060c080b080b0201030b0e0109000b0f0109000b0a010900010b0c010900010b04020900090101080201070b07020900090102070b090109000b09010900020c080d01080d0e0404040303030404040b09010b010209000901070b070209000901070b0802090009010404020404070b09010b0102090009010403040404040203060b0a0109000e0503030303070b0c010b04020900090103030b09010b0102090009010b090109000b0901090103070b03020900090105020507080613010103030108100103030308100308100b090109000b09010901020810070b070209000901070b080209000901010810020810081002060810060810010204030b090109000b090109000b090109010603030b090109000b09010901030304030b090109010b090109000b09010901030b090109000b090109000b09010901030b090109010b090109000b0901090101060b07020900090101060b080209000901010b11010402060b110109000900030c05060806060b09010b0102090009010b09010b010209010900070b070209000901070b0702090109000506080601070b090109000209010900010b01020901090006726f757465720473776170076163636f756e7404636f646504636f696e056576656e74066f7074696f6e107265736f757263655f6163636f756e74067369676e657206737472696e670974696d657374616d7009747970655f696e666f046d6174680a737761705f7574696c730475323536114164644c69717569646974794576656e74074c50546f6b656e1050616972437265617465644576656e740f506169724576656e74486f6c6465721452656d6f76654c69717569646974794576656e7409537761704576656e740853776170496e666f11546f6b656e506169724d6574616461746110546f6b656e50616972526573657276650d6164645f6c697175696469747904436f696e146164645f6c69717569646974795f6469726563740e6164645f737761705f6576656e741b6164645f737761705f6576656e745f776974685f616464726573730561646d696e046275726e1c636865636b5f6f725f72656769737465725f636f696e5f73746f72650b6372656174655f70616972096465706f7369745f78096465706f7369745f7909657874726163745f7809657874726163745f79066665655f746f0b696e69745f6d6f64756c650f69735f706169725f637265617465640a6c705f62616c616e6365046d696e74086d696e745f6665650e4d696e744361706162696c697479076d696e745f6c700a6d696e745f6c705f746f0b72656769737465725f6c701072656d6f76655f6c69717569646974791772656d6f76655f6c69717569646974795f646972656374097365745f61646d696e0a7365745f6665655f746f11737761705f65786163745f785f746f5f7918737761705f65786163745f785f746f5f795f64697265637411737761705f65786163745f795f746f5f7818737761705f65786163745f795f746f5f785f64697265637411737761705f785f746f5f65786163745f7918737761705f785f746f5f65786163745f795f64697265637411737761705f795f746f5f65786163745f7818737761705f795f746f5f65786163745f785f6469726563740e746f6b656e5f62616c616e6365730e746f6b656e5f72657365727665730f746f74616c5f6c705f737570706c79067570646174650c757067726164655f737761700c77697468647261775f666565047573657208616d6f756e745f7808616d6f756e745f79096c69717569646974790a6665655f616d6f756e740b64756d6d795f6669656c6407746f6b656e5f7806537472696e6707746f6b656e5f790b4576656e7448616e646c650b616d6f756e745f785f696e0b616d6f756e745f795f696e0c616d6f756e745f785f6f75740c616d6f756e745f795f6f75740a7369676e65725f636170105369676e65724361706162696c6974790c706169725f637265617465640763726561746f72066b5f6c6173740962616c616e63655f780962616c616e63655f79086d696e745f636170086275726e5f6361700e4275726e4361706162696c6974790a667265657a655f63617010467265657a654361706162696c69747909726573657276655f7809726573657276655f7914626c6f636b5f74696d657374616d705f6c6173740877697468647261770a616464726573735f6f660576616c7565076465706f7369740a656d69745f6576656e740571756f746507657874726163741569735f6163636f756e745f726567697374657265640872656769737465721d6372656174655f7369676e65725f776974685f6361706162696c69747904757466380673796d626f6c06617070656e640b617070656e645f75746638066c656e6774680a696e697469616c697a65047a65726f106e65775f6576656e745f68616e646c6509747970655f6e616d65056d657267651d72657472696576655f7265736f757263655f6163636f756e745f6361700762616c616e63650473717274036d696e04553235360866726f6d5f753634036d756c0373756207636f6d70617265106765745f677265617465725f7468616e096765745f657175616c0c64657374726f795f7a65726f0e6765745f616d6f756e745f6f7574064f7074696f6e06737570706c79106765745f776974685f64656661756c740b6e6f775f7365636f6e6473137075626c6973685f7061636b6167655f74786e0f736f72745f746f6b656e5f747970650b657874726163745f616c6cc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa00000000000000000000000000000000000000000000000000000000000000010520a2c656b06aeff1406fd5ff837fa5b07825437a5f1ce6d75cad3f4e5c39ea955b05200f9d24010ad96659ee980598ff3848911253bda014e8fe59ce40e9eed9f6585a030801000000000000000308060000000000000003080e000000000000000308070000000000000003080a000000000000000308040000000000000003080d000000000000000308080000000000000003080f00000000000000030811000000000000000308020000000000000003081300000000000000030812000000000000000308140000000000000003081500000000000000030800000000000000000308090000000000000003081000000000000000030820000000000000000410e8030000000000000000000000000000030810270000000000000520c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa052000000000000000000000000000000000000000000000000000000000000000000a02090850616e63616b652d0a0202012d0a0204032d4c500a020c0b50616e63616b65204c50730a02080743616b652d4c50126170746f733a3a6d657461646174615f7630db04120000000000000000104552524f525f4f4e4c595f41444d494e000100000000000000194552524f525f414c52454144595f494e495449414c495a4544000200000000000000114552524f525f4e4f545f43524541544f52000400000000000000234552524f525f494e53554646494349454e545f4c49515549444954595f4d494e544544000600000000000000194552524f525f494e53554646494349454e545f414d4f554e540007000000000000001c4552524f525f494e53554646494349454e545f4c4951554944495459000800000000000000144552524f525f494e56414c49445f414d4f554e54000900000000000000174552524f525f544f4b454e535f4e4f545f534f52544544000a00000000000000234552524f525f494e53554646494349454e545f4c49515549444954595f4255524e4544000d00000000000000204552524f525f494e53554646494349454e545f4f55545055545f414d4f554e54000e000000000000001f4552524f525f494e53554646494349454e545f494e5055545f414d4f554e54000f00000000000000074552524f525f4b001000000000000000164552524f525f595f4e4f545f524547495354455245440011000000000000000f4552524f525f4e4f545f41444d494e001200000000000000104552524f525f4e4f545f4645455f544f0013000000000000001c4552524f525f4e4f545f455155414c5f45584143545f414d4f554e540014000000000000001a4552524f525f4e4f545f5245534f555243455f4143434f554e54001500000000000000154552524f525f4e4f5f4645455f574954484452415700000205410542034303440345030102014601020203410547080b49080b030203180b0c010b0002090009012f0b0c010b040209000901010b0c010b0502090009010402054105440342034303450305020541054b034c034d034e030602044f080d25051d05510b0c0108020702085205450b09010b0102090009015304540b09010900550b09010901560b0a010b010209000901570b0e010b010209000901590b0f010b0102090009010802035b035c035d030321002105210721082104210757000300030307081e370a000b0138000a000b02380138020c060c050c080c070c040c030a0011290c0b0e0738030c090a0906000000000000000024031b0b00010705270b0038040a0b0b0738050a0b0b0538060a0b0b06380707173c000c0a0b0a36000b0b0a030a040a090b0834390138080b030b040b0902010000020708276a0e0038090c090e01380a0c0b380b010c120c110a1106000000000000000021030f05140a12060000000000000000210c020516090c020b020319051e0a090a0b0c060c0505400a090a110a12112d0c0c0a0c0a0b250328052d0a090b0c0c040c03053c0a0b0b120b11112d0c0a0a0a0a092503380709270b0a0a0b0c040c030b030b040c060c050b050b060c080c070a070a0925034a0703270a080a0b2503500703270d000b090a0717380c0c0e0d010b0b0a0817380d0c0f0b00380e0b01380f38100c0d0c100b070b080b100b0d0b0e0b0f02020300010329100b0011290c0607173c000c050b0536010b060b010b020b030b04390238110203030001032b0d07173c000c050b0536010b000b010b020b030b04390238110204010001062c0707172a060c000b00100214020500000207082d6a07173c030c080a08370238090a083703380a0c050c0407173c040c090e0038030c070a093704140a093705140a0838120c0638130c0a0b04350a0735180a0a351a340c020b05350b0735180b0a351a340c030a02060000000000000000240335053a0a03060000000000000000240c01053c090c010b0103440b09010b08010706270b000a08370638140b02340a0838150c0b0b03340a0838160c0c0a08370238090a083703380a0a0938170a09370414350b0937051435180b083607150b0b0b0c0b060206010000050c0a001129381820030605090b003819050b0b00010207030001062f5f381a2003070b00010702270b0011290c0807172a060c090a09100911320c07071911330c03381b0c05381c0c060d030b0511350d03071a11360d030b0611350d03071b11360e031137071424032a052d071c11330c030e070b03071d1133310808381d0c040c020c010e0706000000000000000006000000000000000006000000000000000039043f040e070a08381e3200000000000000000000000000000000381f38200b040b010b0239033f030e070e0738210e0738220e07382339003f0038240c0a38250c0b0b090f0a0b080b0a0b0b120238260e0738270208000001073c0807173c030c010b0136020b0038280209000001073c0807173c030c010b0136030b003829020a000000050f0a01370238090a0024030a0b01010703270b0136020b00380c020b000000050f0a013703380a0a0024030a0b01010703270b0136030b00380d020c010001062c0707172a060c000b00100b14020d0000003e100b000701113d0c020e0211320c010e010b02071807000e01382a12062d06020e010000050307173b04020f01000005030b00382b0210000002070840830107173c030c0a0a0a370238090a0a3703380a0c040c0307173c040c0b0a03350a0b37041435170c010a04350a0b37051435170c020a0b3704140a0b3705140a0a38120c0538130c0d0a0d320000000000000000000000000000000021032e054a0b010b0218113f0c0c0a0c071524033d0b0b010b0a010707270b0c0715170c0607170715340a0a3708382c0b060c0005680b010a0d180a0b370414351a0b020b0d180a0b370514351a11400c070a0732000000000000000000000000000000002403660b0b010b0a010707270b070c000b000c080b08340a0a3708382d0c090b030b040a0b38170a0b370414350b0b37051435180b0a3607150b090b050211000000424a0600000000000000000c050a02370714320000000000000000000000000000000022030905460b00350b013518113f0c080a02370714113f0c090a080a0924031a054338130a080a0917183208000000000000000000000000000000180c070b093211000000000000000000000000000000180b08320800000000000000000000000000000018160c040b070b041a0c060b06340c050a0506000000000000000024033605400a050a023708382d0c030b0236090b03382e05420b020105450b020105480b02010b05021200000005040b000b01382f021300000008080b010b02382f0c030b000b033805021401000005030b003830021503000303070844380a000a0138310c0a0b0a38320c0d0c0c0c0b0e0b38090c080e0c380a0c090a0038330a0038340b0011290c0f0a0f0b0b38060a0f0b0c380707173c000c0e0b0e360a0c070b0f0c020a080c030a090c040b010c050b0d340c060b070b020b050b030b040b06390538350b080b090216000002070805030b00383602170104010645150b0011290c0207172a060c030b020a031002142103100b0301070b270b010b030f021502180104010645150b0011290c0207172a060c030b020a031002142103100b0301070b270b010b030f0b150219000002070846d1010a000600000000000000002403050508080c02050c0a01060000000000000000240c020b02031007082707173c040c140a000a1437041423031a05210a010a14370514230c030523090c030b0303290b140107052707173c030c13381f0c0f38200c100a00060000000000000000240335053a0d0f0a000a13381538280a0106000000000000000024033f05450d100a010b133816382905470b130138370c0d0c0b0a0b0a143704140a0017240353055c0a0b0a143704140b0017170c04055e0600000000000000000c040b040c090a0d0a143705140a011724036905720a0d0a143705140b0117170c0505740600000000000000000c050b050c0a0a0906000000000000000024037b057e080c060582010a0a060000000000000000240c060b060388010b14010704270a0b11420716114211430b0911420619000000000000001142114311440c0c0a0d11420716114211430b0a11420619000000000000001142114311440c0e0a1437041411420a14370514114211430716114207161142114311430c120b0c0b0e11430c070e070e1211450c110a1111462103bd0105c001080c0805c4010b111147210c080b0803ca010b1401070a270b0b0b0d0b1438170b0f0b10021a03000207084b140a000b0138000c040b0438380c060c050e06380a0c030b0038340b0538390b020b0638070b03021b03000207084c1d0e0038090c010b00380e380b010c060c050b010b050b0611490c020600000000000000000b02383a0c040c030e03380906000000000000000021031a0708270b030b04021c03000207084d140a000b0138010c040b04383b0c060c050e0538090c030b0038330b020b0538060b06383c0b03021d03000207084c1d0e00380a0c010b00380f380b010c050c060b010b050b0611490c020b02060000000000000000383a0c040c030e04380a06000000000000000021031a0708270b030b04021e03000207084e120a000a0138000c040b040b02383d0c060c050b0038340b0538390b030b0638070b01021f030002070802110b00380e0600000000000000000b01383a0c030c020e02380906000000000000000021030e0708270b020b03022003000207084f120a000a0138010c040b040b02383e0c060c050b0038330b030b0538060b06383c0b010221030002070802110b00380f0b01060000000000000000383a0c030c020e03380a06000000000000000021030e0708270b020b03022201000107500a07173d030c000a00370238090b003703380a022301000108510d07173d040c000a003704140a003705140b00370b1402240100005206383f0c000e003200000000000000000000000000000000384002250000000f0f114c0c030b000a023604150b010a023605150b030b02360b1502260104010654190b0011290c0407172b060c050b040a051002142103100b0501070b270b05100911320c030e030b010b02114d0227010402060755450a0011290c0507172b060c060a050b06100b142103100b0001070e2738410313052c07173c030c030a03370938030600000000000000002403220b00010b03010710270b03360938420c010b0038040b050b013805054407173c060c040a04370c384306000000000000000024033b0b00010b04010710270b04360c38440c020b0038450b050b023846020300030206020703070408000801070607020600060306010705070103010802002101210321042105210621072108210c210d210e210f210d57000000", + "abi": { + "address": "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa", + "name": "swap", + "friends": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::router" + ], + "exposed_functions": [ + { + "name": "add_liquidity", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [ + "u64", + "u64", + "u64" + ] + }, + { + "name": "add_swap_event", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "add_swap_event_with_address", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "admin", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "address" + ] + }, + { + "name": "check_or_register_coin_store", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "create_pair", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "fee_to", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "address" + ] + }, + { + "name": "is_pair_created", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + }, + { + "name": "lp_balance", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "address" + ], + "return": [ + "u64" + ] + }, + { + "name": "register_lp", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "remove_liquidity", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64" + ], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "set_admin", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "set_fee_to", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "address" + ], + "return": [] + }, + { + "name": "swap_exact_x_to_y", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "address" + ], + "return": [ + "u64" + ] + }, + { + "name": "swap_exact_x_to_y_direct", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_exact_y_to_x", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "address" + ], + "return": [ + "u64" + ] + }, + { + "name": "swap_exact_y_to_x_direct", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_x_to_exact_y", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "address" + ], + "return": [ + "u64" + ] + }, + { + "name": "swap_x_to_exact_y_direct", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "swap_y_to_exact_x", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "address" + ], + "return": [ + "u64" + ] + }, + { + "name": "swap_y_to_exact_x_direct", + "visibility": "friend", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin", + "u64" + ], + "return": [ + "0x1::coin::Coin", + "0x1::coin::Coin" + ] + }, + { + "name": "token_balances", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64" + ] + }, + { + "name": "token_reserves", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u64", + "u64", + "u64" + ] + }, + { + "name": "total_lp_supply", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "u128" + ] + }, + { + "name": "upgrade_swap", + "visibility": "public", + "is_entry": true, + "generic_type_params": [], + "params": [ + "&signer", + "vector", + "vector>" + ], + "return": [] + }, + { + "name": "withdraw_fee", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + } + ], + "structs": [ + { + "name": "AddLiquidityEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "user", + "type": "address" + }, + { + "name": "amount_x", + "type": "u64" + }, + { + "name": "amount_y", + "type": "u64" + }, + { + "name": "liquidity", + "type": "u64" + }, + { + "name": "fee_amount", + "type": "u64" + } + ] + }, + { + "name": "LPToken", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "dummy_field", + "type": "bool" + } + ] + }, + { + "name": "PairCreatedEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "user", + "type": "address" + }, + { + "name": "token_x", + "type": "0x1::string::String" + }, + { + "name": "token_y", + "type": "0x1::string::String" + } + ] + }, + { + "name": "PairEventHolder", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "add_liquidity", + "type": "0x1::event::EventHandle<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::AddLiquidityEvent>" + }, + { + "name": "remove_liquidity", + "type": "0x1::event::EventHandle<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::RemoveLiquidityEvent>" + }, + { + "name": "swap", + "type": "0x1::event::EventHandle<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::SwapEvent>" + } + ] + }, + { + "name": "RemoveLiquidityEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "user", + "type": "address" + }, + { + "name": "liquidity", + "type": "u64" + }, + { + "name": "amount_x", + "type": "u64" + }, + { + "name": "amount_y", + "type": "u64" + }, + { + "name": "fee_amount", + "type": "u64" + } + ] + }, + { + "name": "SwapEvent", + "is_native": false, + "abilities": [ + "drop", + "store" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "user", + "type": "address" + }, + { + "name": "amount_x_in", + "type": "u64" + }, + { + "name": "amount_y_in", + "type": "u64" + }, + { + "name": "amount_x_out", + "type": "u64" + }, + { + "name": "amount_y_out", + "type": "u64" + } + ] + }, + { + "name": "SwapInfo", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [], + "fields": [ + { + "name": "signer_cap", + "type": "0x1::account::SignerCapability" + }, + { + "name": "fee_to", + "type": "address" + }, + { + "name": "admin", + "type": "address" + }, + { + "name": "pair_created", + "type": "0x1::event::EventHandle<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::PairCreatedEvent>" + } + ] + }, + { + "name": "TokenPairMetadata", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "creator", + "type": "address" + }, + { + "name": "fee_amount", + "type": "0x1::coin::Coin<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::LPToken>" + }, + { + "name": "k_last", + "type": "u128" + }, + { + "name": "balance_x", + "type": "0x1::coin::Coin" + }, + { + "name": "balance_y", + "type": "0x1::coin::Coin" + }, + { + "name": "mint_cap", + "type": "0x1::coin::MintCapability<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::LPToken>" + }, + { + "name": "burn_cap", + "type": "0x1::coin::BurnCapability<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::LPToken>" + }, + { + "name": "freeze_cap", + "type": "0x1::coin::FreezeCapability<0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::LPToken>" + } + ] + }, + { + "name": "TokenPairReserve", + "is_native": false, + "abilities": [ + "key" + ], + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "fields": [ + { + "name": "reserve_x", + "type": "u64" + }, + { + "name": "reserve_y", + "type": "u64" + }, + { + "name": "block_timestamp_last", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000c010006020608030ea20104b0010405b401d801078c03ad0208b9054006f9055f10d806ff020ad7091e0cf509b8210dad2b18000001010102000307000004070000050001000006020100000701030000080104000009050400000a020600000b000100000c070800000d090100000e030100000f04010000100a040000110b040000120c060000130c060000140c060000150406000016000100001702010000180d0e0000190d0e00001a0f0c00001b100c00001c110100001d110100001e030d00001f0001000020051200002102010000220c0100012022120100022b230c01001e041f06020801080101080102060801060801010401030106080101020108000208010101060a02020608010302060800030002030302030103070801030303070800030302080102010a020b030303030101010303030801030303080101010201010303030309010303030203030801030501010108010104030303030803030303030303030702030303030202170103030303030303030303030303030301010103010801080006030104040404030301030703030303030801030903070a0203070a0203070a0203070a020a020106090002070a09000a090004753235360362637306766563746f7205445532353604553235360361646403616e640761735f753132380661735f753634046269747307636f6d70617265036469760d64753235365f746f5f753235360a66726f6d5f62797465730966726f6d5f753132380866726f6d5f75363403676574056765745f64096765745f657175616c106765745f677265617465725f7468616e0d6765745f6c6573735f7468616e116c656164696e675f7a65726f735f753634036d756c026f720f6f766572666c6f77696e675f6164640f6f766572666c6f77696e675f73756203707574057075745f640373686c037368720a73706c69745f753132380373756208746f5f627974657303786f72047a65726f02763002763102763202763302763402763502763602763706617070656e64c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa000000000000000000000000000000000000000000000000000000000000000103080000000000000000030803000000000000000308020000000000000002010003080400000000000000030801000000000000000201020201010410ffffffffffffffffffffffffffffffff0410ffffffffffffffff0000000000000000126170746f733a3a6d657461646174615f7630ea020500000000000000000e45434153545f4f564552464c4f57395768656e2063616e277420636173742060553235366020746f206075313238602028652e672e206e756d62657220746f6f206c61726765292e01000000000000000f45574f5244535f4f564552464c4f573f5768656e20747279696e6720746f20676574206f722070757420776f726420696e746f2055323536206275742069742773206f7574206f6620696e6465782e020000000000000009454f564552464c4f57145768656e206d617468206f766572666c6f77732e03000000000000000c454449565f42595f5a45524f215768656e20617474656d7074656420746f20646976696465206279207a65726f2e04000000000000001b45564543544f525f4c454e4754485f4e4f545f33325f42595445533d5768656e20747279696e6720746f2063616c6c206066726f6d5f627974657360206f6e206120766563746f72206f66206c656e67746820213d2033322e00020823032403250326032703280329032a030102042303240325032603000100001354111d0c0c0600000000000000000c040600000000000000000c050a05070423030b054c0e000a05110b0c020e010a05110b0c030a0406000000000000000022031805370b020b0311130c070c0a0b0a0b0411130c080c0b0d0c0a050b0b11150600000000000000000c040b07032b052f0b04060100000000000000160c040b08033205360b04060100000000000000160c0405470b020b0311130c060c090d0c0a050b0911150600000000000000000c040b06034505470601000000000000000c040b05060100000000000000160c0505060b040600000000000000002103520702270b0c02010100001420111d0c040600000000000000000c020a020704230309051a0a000a02110b0a010a02110b1c0c030d040a020b0311150b02060100000000000000160c0205040b01010b00010b04020201000015200e00100014060000000000000000210307050e0e00100114060000000000000000210c010510090c010b0103140700270e001002143531402f0e001003143516020301000016240e00100214060000000000000000210307050e0e00100014060000000000000000210c010510090c010b010313051a0e00100114060000000000000000210c02051c090c020b0203200700270e001003140204000000172f0601000000000000000c030a03070423030705250a0007040a0317110b0c010a0106000000000000000024031205200b000106400000000000000007040b031706010000000000000016180b0111103417020b03060100000000000000160c0305020b00060000000000000000110b0c020640000000000000000b02111034170205010000172c07040c040a0406000000000000000024030705260b04060100000000000000170c040a000a04110b0c020a010a04110b0c030a020a0322031805250b01010b00010b020b03230321052307070207060205020b01010b0001070302060100001859111d0c090e0011040c030e0111040c040a0406000000000000000022030e0701270a030a0423031305150b09020b030b04170c0a0b010a0a3311170c010e000e0111050c060a060706210327052a080c02052e0b060703210c020b020331054a0a0a0640000000000000001a0c070e090a07110b0c080b080601000000000000000a0a06400000000000000019332f1b0c050d090b070b0511150b000a01111a0c000b01310111180c010a0a0600000000000000002103570b0a060100000000000000170c0a051e0b09020700000019400e001004140e001005140e001006140e0010071412010c04090c050e00100814060000000000000000220317051a080c0105200e00100914060000000000000000220c010b0103230526080c02052c0e00100a14060000000000000000220c020b02032f0532080c0305380e00100b14060000000000000000220c030b03033b053d080c050b040b050208010000018d020a0041060620000000000000002103090b0001070427111d0c010d010600000000000000000a000600000000000000004206143431072f0a000601000000000000004206143431062f160a000602000000000000004206143431052f160a000603000000000000004206143431042f160a000604000000000000004206143431032f160a000605000000000000004206143431022f160a000606000000000000004206143431012f160a00060700000000000000420614341611150d010601000000000000000a000608000000000000004206143431072f0a000609000000000000004206143431062f160a00060a000000000000004206143431052f160a00060b000000000000004206143431042f160a00060c000000000000004206143431032f160a00060d000000000000004206143431022f160a00060e000000000000004206143431012f160a00060f00000000000000420614341611150d010602000000000000000a000610000000000000004206143431072f0a000611000000000000004206143431062f160a000612000000000000004206143431052f160a000613000000000000004206143431042f160a000614000000000000004206143431032f160a000615000000000000004206143431022f160a000616000000000000004206143431012f160a00061700000000000000420614341611150d010603000000000000000a000618000000000000004206143431072f0a000619000000000000004206143431062f160a00061a000000000000004206143431052f160a00061b000000000000004206143431042f160a00061c000000000000004206143431032f160a00061d000000000000004206143431022f160a00061e000000000000004206143431012f160b00061f00000000000000420614341611150b0102090100000d0a0b0011190c010c020b010b020600000000000000000600000000000000001201020a0100000c040b00351109020b0100001a320a01060000000000000000210305050a0b001003140c0505300a0106010000000000000021030f05140b001002140c04052e0a01060200000000000000210319051e0b001000140c03052c0b010603000000000000002103260b00010705270b001001140c020b020c030b030c040b040c050b05020c0000001b620a01060000000000000000210305050a0b001004140c0905600a0106010000000000000021030f05140b001005140c08055e0a01060200000000000000210319051e0b001006140c07055c0a0106030000000000000021032305280b001007140c06055a0a0106040000000000000021032d05320b001008140c0505580a01060500000000000000210337053c0b001009140c0405560a0106060000000000000021034105460b00100a140c0305540b0106070000000000000021034e0b00010705270b00100b140c020b020c030b030c040b040c050b050c060b060c070b070c080b080c090b09020d0100000c020703020e0100000c020706020f0100000c02070702100000001c550a0006000000000000000021030505073140020a0006ffffffff000000001c0c020a003120300c030b03060000000000000000210314053531200c060a06310126031b052e0a020a06310117300601000000000000001c0c040b040600000000000000002203280529052e0b063101170c06051631200b06173120160c01055331400c070a07310126033c054f0a000a07310117300601000000000000001c0c050b05060000000000000000220349054a054f0b073101170c07053731400b07170c010b0102110100001d930106000000000000000006000000000000000006000000000000000006000000000000000006000000000000000006000000000000000006000000000000000006000000000000000012000c180600000000000000000c0e0a0e07042303110588010600000000000000000c070e010a0e110b0c060600000000000000000c0f0a0f070423031e0583010e000a0f110b0c050a05060000000000000000220327052a080c02052e0a07060000000000000000220c020b020331057e0b05350a06351811190c100c0a0e180a0e0a0f16110c0c090b100b0911130c120c110d180a0e0a0f160b1111160b12034d05500601000000000000000c0305520600000000000000000c030b030c150e180a0e0a0f1606010000000000000016110c0c080b0a0b15160c0b0b0b0b0711130c130c0c0b0c0b0811130c140c0d0d180a0e0a0f16060100000000000000160b0d11160b130b141e0377057a0601000000000000000c04057c0600000000000000000c040b040c070b0f060100000000000000160c0f05190b0e060100000000000000160c0e050c0b1811070c160c170b16200391010702270b1702120100001420111d0c040600000000000000000c020a020704230309051a0a000a02110b0a010a02110b1b0c030d040a020b0311150b02060100000000000000160c0205040b01010b00010b0402130000001e250b00350c040b01350c050a040a05160c070a07070924030f051b0b070709173201000000000000000000000000000000170c060b0634080c030c0205220b040b051634090c030c020b020b0302140000001f1c0a000a0123030505130b010b00170c040709340b041706010000000000000016080c030c0205190b000b0117090c030c020b020b0302150000000c2b0a01060000000000000000210305050a0b020b000f0315052a0a0106010000000000000021030f05140b020b000f0215052a0a01060200000000000000210319051e0b020b000f0015052a0b010603000000000000002103260b00010705270b020b000f011502160000000c530a01060000000000000000210305050a0b020b000f041505520a0106010000000000000021030f05140b020b000f051505520a01060200000000000000210319051e0b020b000f061505520a0106030000000000000021032305280b020b000f071505520a0106040000000000000021032d05320b020b000f081505520a01060500000000000000210337053c0b020b000f091505520a0106060000000000000021034105460b020b000f0a1505520b0106070000000000000021034e0b00010705270b020b000f0b150217010000204f111d0c070a01340640000000000000001a0c080b0134064000000000000000190c020a080c030a03070423031305250e000a030a0817110b0a02332f0c050d070a030b0511150b03060100000000000000160c03050e0a0206000000000000000024032a054d0a08060100000000000000160c040a040704230333054d0e070a04110b0e000a04060100000000000000170a0817110b31400a02331730160c060d070a040b0611150b04060100000000000000160c04052e0b0702180100002053111d0c070a01340640000000000000001a0c080b0134064000000000000000190c020a080c030a03070423031305250e000a03110b0a0233300c050d070a030a08170b0511150b03060100000000000000160c03050e0a0206000000000000000024032a05510a08060100000000000000160c040a04070423033305510e070a040a081706010000000000000017110b0e000a04110b31400a0233172f160c060d070a040a0817060100000000000000170b0611150b04060100000000000000160c04052e0b0702190000000d0d0a00314030340c010b0032ffffffffffffffff00000000000000001c340c020b010b02021a0100001354111d0c0c0600000000000000000c040600000000000000000c050a05070423030b054c0e000a05110b0c020e010a05110b0c030a0406000000000000000022031805370b020b0311140c070c0a0b0a0b0411140c080c0b0d0c0a050b0b11150600000000000000000c040b07032b052f0b04060100000000000000160c040b08033205360b04060100000000000000160c0405470b020b0311140c060c090d0c0a050b0911150600000000000000000c040b06034505470601000000000000000c040b05060100000000000000160c0505060b040600000000000000002103520702270b0c021b010000212c400600000000000000000c090d090c020a00060000000000000000110b0c010b020e01380038010d090c040a00060100000000000000110b0c030b040e03380038010d090c060a00060200000000000000110b0c050b060e05380038010d090c080b00060300000000000000110b0c070b080e07380038010b09021c0100001420111d0c040600000000000000000c020a020704230309051a0a000a02110b0a010a02110b1d0c030d040a020b0311150b02060100000000000000160c0205040b01010b00010b04021d0100000c0606000000000000000006000000000000000006000000000000000006000000000000000012010201020103010101000000000100020003000400050006000700", + "abi": { + "address": "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa", + "name": "u256", + "friends": [], + "exposed_functions": [ + { + "name": "add", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "and", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "as_u128", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "u128" + ] + }, + { + "name": "as_u64", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "u64" + ] + }, + { + "name": "compare", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "u8" + ] + }, + { + "name": "div", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "from_bytes", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&vector" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "from_u128", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u128" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "from_u64", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "get", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_equal", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "get_greater_than", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "get_less_than", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "mul", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "or", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "shl", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "u8" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "shr", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "u8" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "sub", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "to_bytes", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "vector" + ] + }, + { + "name": "xor", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256", + "&0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + }, + { + "name": "zero", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::u256::U256" + ] + } + ], + "structs": [ + { + "name": "DU256", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "v0", + "type": "u64" + }, + { + "name": "v1", + "type": "u64" + }, + { + "name": "v2", + "type": "u64" + }, + { + "name": "v3", + "type": "u64" + }, + { + "name": "v4", + "type": "u64" + }, + { + "name": "v5", + "type": "u64" + }, + { + "name": "v6", + "type": "u64" + }, + { + "name": "v7", + "type": "u64" + } + ] + }, + { + "name": "U256", + "is_native": false, + "abilities": [ + "copy", + "drop", + "store" + ], + "generic_type_params": [], + "fields": [ + { + "name": "v0", + "type": "u64" + }, + { + "name": "v1", + "type": "u64" + }, + { + "name": "v2", + "type": "u64" + }, + { + "name": "v3", + "type": "u64" + } + ] + } + ] + } + }, + { + "bytecode": "0xa11ceb0b050000000a01000a020a060310bc0204cc027205be03de02079c06940708b00d4006f00d5410c40eb0020cf410ea0c0000010101020003000401090401000100050001020000000600010200000007020102000000080301020000000a0405020000000b0605020000000c0101020000000d0301020000000e03010100000f0701020000001008010200000011090a03000000001208010300000000130b0a0400000000001408010400000000001508010200000016090a03000000001708010300000000180b0a0400000000001908010400000000001a0c05020000031b010f020000041c010f02000003050811020000021d031200031e020102000003080301020000031f0c1402000001200c010100032105140200000322161402000003231714020000030d0301020000012403010100030f191802000003251a0a02000003261a0a0200000127190c010001281d0a0100032903010100012a20010100032b0111020000042c110a00032d290a020000032e290a020000150e1510030e160e170e1710020e190e19101a0e1a101b0e1c151d101e0e1f10200e2115060e220e2210230e2410010e2515040e261c041e261f271f281f011e061e161e0b2204242625272528250124062416240d27290e2b0e29102c10291e292b050e051e10222924292d05241227261505060c030303030005050303030301060c02010b00010900010b0001090103010b000109000304060c03030303060c030305060c01010303010306060c0101010303010b000109000401030303020900090101010209010900030303030105050b000109010b000109000b000109000b000109010b00010901020b000109000b00010901010900020b0001090003020b000109010302030302060c0303060c0305060b000109000b000109010b0001090203030501090101060b00010900020901090201090202050b0001090002010103090009010902080b00010903030b000109000b000109010b0001090203030502090209030109030301010104090009010902090308030303030303030304060c0303050b03030b000109000b000109010b0001090203030305030302090209010e0303030b00010903030b000109000b000109010b0001090203030503030302090309020401030b000109010306726f7574657204636f696e067369676e657204737761700a737761705f7574696c730d6164645f6c6971756964697479176164645f737761705f6576656e745f696e7465726e616c246164645f737761705f6576656e745f776974685f616464726573735f696e7465726e616c0b6372656174655f7061697204436f696e176765745f696e7465726d6564696174655f6f7574707574246765745f696e7465726d6564696174655f6f75747075745f785f746f5f65786163745f791869735f706169725f637265617465645f696e7465726e616c0b72656769737465725f6c700e72656769737465725f746f6b656e1072656d6f76655f6c697175696469747910737761705f65786163745f696e70757420737761705f65786163745f696e7075745f646f75626c655f696e7465726e616c1a737761705f65786163745f696e7075745f646f75626c65686f7020737761705f65786163745f696e7075745f747269706c655f696e7465726e616c1a737761705f65786163745f696e7075745f747269706c65686f7011737761705f65786163745f6f757470757421737761705f65786163745f6f75747075745f646f75626c655f696e7465726e616c1b737761705f65786163745f6f75747075745f646f75626c65686f7021737761705f65786163745f6f75747075745f747269706c655f696e7465726e616c1b737761705f65786163745f6f75747075745f747269706c65686f7021737761705f65786163745f785f746f5f795f6469726563745f65787465726e616c0f69735f706169725f637265617465640f736f72745f746f6b656e5f747970650a616464726573735f6f661b6164645f737761705f6576656e745f776974685f6164647265737318737761705f65786163745f785f746f5f795f6469726563740c64657374726f795f7a65726f18737761705f65786163745f795f746f5f785f64697265637418737761705f785f746f5f65786163745f795f64697265637418737761705f795f746f5f65786163745f785f64697265637408726567697374657211737761705f65786163745f785f746f5f7911737761705f65786163745f795f746f5f780877697468647261770576616c75651c636865636b5f6f725f72656769737465725f636f696e5f73746f7265076465706f7369740e746f6b656e5f72657365727665730d6765745f616d6f756e745f696e11737761705f785f746f5f65786163745f7911737761705f795f746f5f65786163745f78c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa0000000000000000000000000000000000000000000000000000000000000001030801000000000000000308020000000000000003080300000000000000030800000000000000000308040000000000000005200000000000000000000000000000000000000000000000000000000000000000126170746f733a3a6d657461646174615f76309b0205000000000000000016455f4f55545055545f4c4553535f5448414e5f4d494e234f757470757420616d6f756e74206973206c657373207468616e207265717569726564010000000000000015455f494e5055545f4d4f52455f5448414e5f4d41582b5265717569726520496e70757420616d6f756e74206973206d6f7265207468616e206d6178206c696d6974020000000000000017455f494e53554646494349454e545f585f414d4f554e540e496e73756666696369656e742058030000000000000017455f494e53554646494349454e545f595f414d4f554e540e496e73756666696369656e742059040000000000000012455f504149525f4e4f545f435245415445441350616972206973206e6f742063726561746564000104000d39380003030506080c05050838010c050b0520030c050e0a0038023803031105250b000b010b023804010c080c070b070b0326031e0701270b080b0426032407022705380b000b020b013805010c070c080b070b032603320701270b080b042603380702270201000000120a0b0011180c050b050b010b020b030b0438060202000000011138030303050a0b000b010b020b030b04380705100b000b020b010b040b033808020301040001093803030305060b00380905080b00380a020400000013160b000303050c0b01380b0c050c030b03380c0b050c0205140b01380d0c040c060b04380c0b060c020b02020500000013180b000303050d0b010b02380e0c060c040b04380c0b060c0305160b010b02380f0c050c070b05380c0b070c030b0302060000000f0d380003030506080c00050838010c000b00030c070427020701040001030b003810020801040001030b0038110209010400182838123803030405160b000b0138130c050c040b040b0226030f0701270b050b0326031507022705270b000b0138140c040c050b040b022603210701270b050b03260327070227020a0104001822381238030304050b0a000a010a00111838150c0305110a000a010a00111838160c030b030c040a040b0226031b0b00010703270b000b010600000000000000000600000000000000000b043817020b0000001b300a000a0338180c050b010b0538190c060e06381a0c090b020b06381b0c070e07381c0c080a080b0426031a0b00010703270a0011180c0a0a00381d0b0a0b07381e0a000b030600000000000000000600000000000000000a0938170b000b090600000000000000000600000000000000000a08381f0b08020c010400210e3812382038030c0338210c040b000b030b040b010b02382201020d000000233d0a000a0438180c080b010b0838190c090e09381a0c0b0b020b09381b0c0a0e0a381c0c0c0b030b0a38230c060e0638240c070a070b052603210b00010703270a0011180c0d0a0038250b0d0b0638260a000b040600000000000000000600000000000000000a0b38170a000b0b0600000000000000000600000000000000000a0c381f0b000b0c0600000000000000000600000000000000000a0738270b07020e010400261238123820382838030c0338210c0438290c050b000b030b040b050b010b02382a01020f01040028363812380303040515382b010c080c060a010b060b08112a0c040a000b040a010a001118382c0c030525382d010c070c090a010b070b09112a0c050a000b050a010a001118382e0c030b030c0a0a0a0b0225032f0b00010700270b000b0a0600000000000000000600000000000000000b01381702100000002a5f0a020303050d382f010c0c0c0b0a040b0b0b0c112a0c0505163830010c0b0c0c0a040b0b0b0c112a0c050b050c0f0a01031b0525382b010c0c0c0b0a0f0b0b0b0c112a0c06052e382d010c0b0c0c0a0f0b0b0b0c112a0c060b060c0e0a0e0b032503380b00010700270a000a0e38180c070b010b070a0f38310c080b020b080b0438320c090e09381c0c0a0a0011180c0d0a00381d0b0d0b09381e0a000b0e0600000000000000000600000000000000000a0f38170b000b0f0600000000000000000600000000000000000a0a381f0b0a0211010400210e3812382038030c0338210c040b000b030b040b020b0138330102120000002c82010a030303050d3834010c0f0c0e0a050b0e0b0f112a0c0605163835010c0e0c0f0a050b0e0b0f112a0c060b060c130a02031b0525382f010c0f0c0e0a130b0e0b0f112a0c07052e3830010c0e0c0f0a130b0e0b0f112a0c070b070c120a010333053d382b010c0f0c0e0a120b0e0b0f112a0c080546382d010c0e0c0f0a120b0e0b0f112a0c080b080c110a110b042503500b00010700270a000a1138180c0b0b010b0b0a1238310c0c0b020b0c0a1338320c0d0b030b0d0b0538360c090e0938240c0a0a0011180c100a0038250b100b0938260a000b110600000000000000000600000000000000000a1238170a000b120600000000000000000600000000000000000a13381f0b000b130600000000000000000600000000000000000a0a38270b0a0213010400261238123820382838030c0338210c0438290c050b000b030b040b050b020b0138370102140100002e1538120e0038380c0238030c010b010b0038190c030e03381a0c0407050b020600000000000000000600000000000000000b0438060b030200", + "abi": { + "address": "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa", + "name": "router", + "friends": [], + "exposed_functions": [ + { + "name": "add_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "create_pair", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "register_lp", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "register_token", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [ + "&signer" + ], + "return": [] + }, + { + "name": "remove_liquidity", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_input", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_input_doublehop", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_input_triplehop", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_output", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_output_doublehop", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_output_triplehop", + "visibility": "public", + "is_entry": true, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "&signer", + "u64", + "u64" + ], + "return": [] + }, + { + "name": "swap_exact_x_to_y_direct_external", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [ + "0x1::coin::Coin" + ], + "return": [ + "0x1::coin::Coin" + ] + } + ], + "structs": [] + } + }, + { + "bytecode": "0xa11ceb0b050000000a01000802080803104c045c0805644407a801f201089a034006da033b109504cb010ce005e1030000010101020103010d0200021107000004000102000000050203000006020300000700010000080001000009000100000a00040100000b020300000c0005020000010e090a00010f0b050001100b05000312000e010002130f1000060706080c070011000102030303030103010a020101060800080002020a020a02010900010901020a020a02010800010608000301040404010404040108010106080101060a0202090009010a737761705f7574696c730a636f6d70617261746f7206737472696e6709747970655f696e666f0e636f6d706172655f7374727563740d6765745f616d6f756e745f696e0e6765745f616d6f756e745f6f75740e6765745f657175616c5f656e756d106765745f677265617465725f656e756d106765745f736d616c6c65725f656e756d0e6765745f746f6b656e5f696e666f0571756f74650f736f72745f746f6b656e5f7479706506526573756c7411636f6d706172655f75385f766563746f720f69735f677265617465725f7468616e0869735f657175616c06537472696e6709747970655f6e616d65056279746573c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa00000000000000000000000000000000000000000000000000000000000000010201000308020000000000000003080000000000000000030801000000000000000308030000000000000003080400000000000000020102020101126170746f733a3a6d657461646174615f7630b6010500000000000000001f4552524f525f494e53554646494349454e545f494e5055545f414d4f554e540001000000000000001c4552524f525f494e53554646494349454e545f4c4951554944495459000200000000000000194552524f525f494e53554646494349454e545f414d4f554e54000300000000000000204552524f525f494e53554646494349454e545f4f5554504f545f414d4f554e540004000000000000000f4552524f525f53414d455f434f494e0000000000062038000c0438010c050a040a0511090c000e00110a030c050f07060c03051e0b040b0511090c010e01110b0317051a07000c02051c07070c020b020c030b0302010100000c2d0a000600000000000000002403060704270a0106000000000000000024030b05100a02060000000000000000240c030512090c030b0303160703270b01350a0035183210270000000000000000000000000000180c050b02350b00351732f7260000000000000000000000000000180c040b050b041a340601000000000000001602020100000d2c0a000600000000000000002403060702270a0106000000000000000024030b05100a02060000000000000000240c030512090c030b0303160703270b003532f7260000000000000000000000000000180c040a040b0235180c060b01353210270000000000000000000000000000180b04160c050b060b051a3402030100000002070002040100000002070602050100000002070702060100000e0638020c000e00110d14020701000005200a000600000000000000002403060701270a0106000000000000000024030b05100a02060000000000000000240c030512090c030b0303160703270b00350b0235180b01351a340208010000010c38030c000a0011032203080705270b001105210200", + "abi": { + "address": "0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa", + "name": "swap_utils", + "friends": [], + "exposed_functions": [ + { + "name": "get_amount_in", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_amount_out", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "get_equal_enum", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "get_greater_enum", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "get_smaller_enum", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [], + "return": [ + "u8" + ] + }, + { + "name": "get_token_info", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + } + ], + "params": [], + "return": [ + "vector" + ] + }, + { + "name": "quote", + "visibility": "public", + "is_entry": false, + "generic_type_params": [], + "params": [ + "u64", + "u64", + "u64" + ], + "return": [ + "u64" + ] + }, + { + "name": "sort_token_type", + "visibility": "public", + "is_entry": false, + "generic_type_params": [ + { + "constraints": [] + }, + { + "constraints": [] + } + ], + "params": [], + "return": [ + "bool" + ] + } + ], + "structs": [] + } + } +] \ No newline at end of file diff --git a/projects/simple-aptos-coin/jest.config.ts b/projects/simple-aptos-coin/jest.config.ts new file mode 100644 index 00000000..32591b78 --- /dev/null +++ b/projects/simple-aptos-coin/jest.config.ts @@ -0,0 +1,8 @@ +/** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */ +export default { + preset: 'ts-jest/presets/default-esm', + modulePathIgnorePatterns: ['/dist/'], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, +} \ No newline at end of file diff --git a/projects/simple-aptos-coin/package.json b/projects/simple-aptos-coin/package.json new file mode 100644 index 00000000..addf44cb --- /dev/null +++ b/projects/simple-aptos-coin/package.json @@ -0,0 +1,11 @@ +{ + "name": "@sentio/simple-aptos-coin", + "license": "Apache-2.0", + "version": "1.0.0", + "scripts": { + "compile": "tsc -p .", + "test": "sentio test", + "build": "sentio build" + }, + "type": "module" +} diff --git a/projects/simple-aptos-coin/sentio.yaml b/projects/simple-aptos-coin/sentio.yaml new file mode 100644 index 00000000..3e19f38d --- /dev/null +++ b/projects/simple-aptos-coin/sentio.yaml @@ -0,0 +1 @@ +project: sentio/simple-aptos-coin \ No newline at end of file diff --git a/projects/simple-aptos-coin/src/processor.test.ts b/projects/simple-aptos-coin/src/processor.test.ts new file mode 100644 index 00000000..de16b614 --- /dev/null +++ b/projects/simple-aptos-coin/src/processor.test.ts @@ -0,0 +1,17 @@ +import {TestProcessorServer} from '@sentio/sdk/testing' +import {HandlerType} from "@sentio/sdk"; + +describe('Test Processor', () => { + const service = new TestProcessorServer(() => import('./processor.js')) + + beforeAll(async () => { + await service.start() + }) + + test('has config', async () => { + const config = await service.getConfig({}) + expect(config.contractConfigs.length > 0) + }) + +}) + diff --git a/projects/simple-aptos-coin/src/processor.ts b/projects/simple-aptos-coin/src/processor.ts new file mode 100644 index 00000000..1a5684cb --- /dev/null +++ b/projects/simple-aptos-coin/src/processor.ts @@ -0,0 +1,30 @@ +import { findNewCoinBalances, whitelistCoins } from "@sentio/sdk/aptos/ext"; +import {account, coin, type_info} from "@sentio/sdk/aptos/builtin/0x1"; + +const TOKEN = "0x73eb84966be67e4697fc5ae75173ca6c35089e802650f75422ab49a8729704ec::coin::DooDoo" + +const fetchOption = { allEvents: false, resourceChanges: true} +coin.bind({ + startVersion: 369045160, +}).onEventDepositEvent(async (evt, ctx) => { + const balance = findNewCoinBalances(evt, ctx.transaction, TOKEN) + if (balance) { + ctx.eventLogger.emit("change", { + token: TOKEN, + amount: evt.data_decoded.amount, + balance: balance, + account: evt.guid.account_address + }) + } + }, fetchOption) + .onEventWithdrawEvent(async (evt, ctx) => { + const balance = findNewCoinBalances(evt, ctx.transaction, TOKEN) + if (balance) { + ctx.eventLogger.emit("change", { + token: TOKEN, + amount: -evt.data_decoded.amount, + balance: balance, + account: evt.guid.account_address + }) + } + }, fetchOption) diff --git a/projects/simple-aptos-coin/tsconfig.json b/projects/simple-aptos-coin/tsconfig.json new file mode 100644 index 00000000..adec1dab --- /dev/null +++ b/projects/simple-aptos-coin/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "sourceMap": true, + "target": "esnext", + "esModuleInterop": true, + "noImplicitReturns": true, + "noImplicitAny": true, + "module": "esnext", + "moduleResolution": "nodenext", + "strictNullChecks": true, + "stripInternal": true, + "noFallthroughCasesInSwitch": true, + "noEmitOnError": true, + "outDir": "dist", + "rootDir": "./src", + "skipLibCheck": true + }, + "exclude": [ + "dist", + "tsconfig.json", + "jest.config.ts" + ] +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index cdc00a0a..8f872402 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31,6 +31,27 @@ axios "0.27.2" got "^11.0.0" +"@aptos-labs/aptos-client@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@aptos-labs/aptos-client/-/aptos-client-0.1.0.tgz#911fb27e436e5731290de0e0cfce6e0d3feeabaa" + integrity sha512-q3s6pPq8H2buGp+tPuIRInWsYOuhSEwuNJPwd2YnsiID3YSLihn2ug39ktDJAcSOprUcp7Nid8WK7hKqnUmSdA== + dependencies: + axios "1.6.2" + got "^11.8.6" + +"@aptos-labs/ts-sdk@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@aptos-labs/ts-sdk/-/ts-sdk-1.2.0.tgz#487c8db87d56bb99e70d92541c9173d2e5d1ee3a" + integrity sha512-pe7MhSmyZ6ez4tPud8Q3KOsthdJOR8SNUT/c0gPUIET2yVOf/cmx9TT/dIBm8kwX7hVWZGX4aBWDvZJbeY6dRg== + dependencies: + "@aptos-labs/aptos-client" "^0.1.0" + "@noble/curves" "^1.2.0" + "@noble/hashes" "^1.3.3" + "@scure/bip32" "^1.3.3" + "@scure/bip39" "^1.2.1" + form-data "^4.0.0" + tweetnacl "^1.0.3" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz" @@ -1006,13 +1027,20 @@ resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz" integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== -"@mysten/bcs@0.8.1", "@mysten/bcs@^0.8.1": +"@mysten/bcs@0.8.1": version "0.8.1" resolved "https://registry.yarnpkg.com/@mysten/bcs/-/bcs-0.8.1.tgz#30d3256a728a4a934ae608d118347289fe0ba1e7" integrity sha512-wSEdP7QEfGQdb34g+7R0f3OdRqrv88iIABfJVDVJ6IsGLYVILreh8dZfNpZNUUyzctiyhX7zB9e/lR5qkddFPA== dependencies: bs58 "^5.0.0" +"@mysten/bcs@0.9.1", "@mysten/bcs@^0.9.0": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@mysten/bcs/-/bcs-0.9.1.tgz#70bb36ab7e5044ee1b64b08fabba85cbd6a2def9" + integrity sha512-44tLlv8tfuq1OiNjeIXK78jc4PdzxKHb+LJHaQZHNjX0JdQKaW0swBAKsKATvYZxXKqIzivdu2H+cotg4A3deA== + dependencies: + bs58 "^5.0.0" + "@mysten/sui.js@~0.45.0": version "0.45.1" resolved "https://registry.yarnpkg.com/@mysten/sui.js/-/sui.js-0.45.1.tgz#df609856e067060f8fc71d6c8fd8858f8055b329" @@ -1029,19 +1057,17 @@ superstruct "^1.0.3" tweetnacl "^1.0.3" -"@mysten/sui.js@~0.46.1": - version "0.46.1" - resolved "https://registry.yarnpkg.com/@mysten/sui.js/-/sui.js-0.46.1.tgz#6bf504163b1fe0dc1eb6911035c8cf269aa356ae" - integrity sha512-YSqay1RJbstJt1AILoAcucWhm72ywB//qQrECl1b3CNiuAHG5iYUxlQk7i0a+2+cBnhlVvkOU4PePBMkABqn3w== +"@mysten/sui.js@~0.48.0": + version "0.48.1" + resolved "https://registry.yarnpkg.com/@mysten/sui.js/-/sui.js-0.48.1.tgz#6371aa597cff85276f0759ec4e57ba231699ea25" + integrity sha512-OoVNwMZGfMIpM78B/t5RHxKbK+5C3+dMvsiZNuRQlQhZJWqVhoO2TaXzICqmxJx2NmL+m3a35e8Wbmc3tknK4w== dependencies: - "@mysten/bcs" "0.8.1" + "@mysten/bcs" "0.9.1" "@noble/curves" "^1.1.0" "@noble/hashes" "^1.3.1" - "@open-rpc/client-js" "^1.8.1" "@scure/bip32" "^1.3.1" "@scure/bip39" "^1.2.1" "@suchipi/femver" "^1.0.0" - events "^3.3.0" superstruct "^1.0.3" tweetnacl "^1.0.3" @@ -1052,6 +1078,13 @@ dependencies: "@noble/hashes" "1.3.1" +"@noble/curves@^1.2.0", "@noble/curves@~1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e" + integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== + dependencies: + "@noble/hashes" "1.3.3" + "@noble/hashes@1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.2.tgz" @@ -1067,6 +1100,11 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz" integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== +"@noble/hashes@1.3.3", "@noble/hashes@^1.3.3", "@noble/hashes@~1.3.2": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== + "@noble/hashes@~1.1.1": version "1.1.5" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz" @@ -1208,6 +1246,11 @@ resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== +"@scure/base@~1.1.4": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157" + integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ== + "@scure/bip32@^1.3.1": version "1.3.1" resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz" @@ -1217,6 +1260,15 @@ "@noble/hashes" "~1.3.1" "@scure/base" "~1.1.0" +"@scure/bip32@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.3.tgz#a9624991dc8767087c57999a5d79488f48eae6c8" + integrity sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ== + dependencies: + "@noble/curves" "~1.3.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.4" + "@scure/bip39@1.1.0": version "1.1.0" resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz" @@ -1298,10 +1350,10 @@ truffle-privatekey-provider "^1.5.0" web3 "^1.3.0" -"@sentio/protos@2.28.4-rc.1": - version "2.28.4-rc.1" - resolved "https://registry.yarnpkg.com/@sentio/protos/-/protos-2.28.4-rc.1.tgz#8ccd1b00bc08c68dbc0de880ab6874d53fbc54a0" - integrity sha512-5nZt24m7b+FcLriH0hGT8ZdDDfEzYmSQuDlQIxL5lV69ZJDvvAiWxDaLtnlO5nRmga2EcaTHnCYsjVA7WloANA== +"@sentio/protos@2.29.0-rc.2": + version "2.29.0-rc.2" + resolved "https://registry.yarnpkg.com/@sentio/protos/-/protos-2.29.0-rc.2.tgz#f50a377f5ca4aa2dc0fca5c5162e3b5d367b13cd" + integrity sha512-7QB/cZtJjOyPIibWivUTkEO+dYy1AXsm8+IQaV42l9TMi/jEhK3+i/AVmIHYePwKyfGoImRD4xGlIxQOhxeE0g== dependencies: google-protobuf "^3.21.2" long "^5.2.3" @@ -1309,13 +1361,13 @@ nice-grpc-common "^2.0.2" protobufjs "^7.2.5" -"@sentio/runtime@^2.28.4-rc.1": - version "2.28.4-rc.1" - resolved "https://registry.yarnpkg.com/@sentio/runtime/-/runtime-2.28.4-rc.1.tgz#dea5e00b4d767e8cb596a1311155c7bbfd1075b4" - integrity sha512-GYPssPq4y7n/CMnnv4VnaiG03uUf8V5Mln1pW1JEFcWdlcmGj95BB74vFcezE5Bo8wpOkyA1jIhNnrGmpw4gpw== +"@sentio/runtime@^2.29.0-rc.2": + version "2.29.0-rc.2" + resolved "https://registry.yarnpkg.com/@sentio/runtime/-/runtime-2.29.0-rc.2.tgz#59001ef21bf0d91bb08a3f06aa86609c49cc8569" + integrity sha512-ziBKfXd2WRONDDINlKLTYPu1nym2qNxiEpuzsCXfpbKzYSJhaEUhF7uFE7uz1Pjr8t/M692u2Nt2jYEP9KU+Dw== dependencies: "@grpc/grpc-js" "^1.8.14" - "@sentio/protos" "2.28.4-rc.1" + "@sentio/protos" "2.29.0-rc.2" command-line-args "^5.2.1" command-line-usage "^7.0.1" fs-extra "^11.0.0" @@ -1331,29 +1383,28 @@ utility-types "^3.10.0" winston "^3.10.0" -"@sentio/sdk@^2.28.4-rc.1": - version "2.28.4-rc.1" - resolved "https://registry.yarnpkg.com/@sentio/sdk/-/sdk-2.28.4-rc.1.tgz#60c7b143bf1b88c1853db57f19d47eb3eb278952" - integrity sha512-n3pSdHgNay2QT44FQMRxCBhl2zFbksdwgG/T9iNXeOdxqYGFrMKp+k2iGdu/W00+cV+HIFCt2FYVH9xqICgucw== +"@sentio/sdk@^2.29.0-rc.2": + version "2.29.0-rc.2" + resolved "https://registry.yarnpkg.com/@sentio/sdk/-/sdk-2.29.0-rc.2.tgz#6635ce3d0816d5facab176bc3988ba0f17896a20" + integrity sha512-ImS7krlhJqicqv2zq2EhTZ3i5rDEvuoHoODMhVEJRItUqJwX7IGE/MKOA2kChYUxzWIsxv0NFRkOydqs/AWTYw== dependencies: + "@aptos-labs/ts-sdk" "~1.2.0" "@coral-xyz/borsh" "^0.29.0" - "@mysten/sui.js" "~0.46.1" + "@mysten/sui.js" "~0.48.0" "@project-serum/anchor" "^0.26.0" "@sentio/bigdecimal" "^9.1.1-patch.3" "@sentio/chain" "^1.0.4" "@sentio/ethers-v6" "^1.0.28" - "@sentio/protos" "2.28.4-rc.1" - "@sentio/runtime" "^2.28.4-rc.1" + "@sentio/protos" "2.29.0-rc.2" + "@sentio/runtime" "^2.29.0-rc.2" "@solana/web3.js" "^1.78.3" - "@typemove/aptos" "~1.2.8" - "@typemove/move" "~1.2.8" - "@typemove/sui" "~1.2.8" - aptos "~1.20.0" - aptos-sdk "npm:aptos@^1.20.0" + "@typemove/aptos" "~1.3.1" + "@typemove/move" "~1.3.1" + "@typemove/sui" "~1.3.1" bs58 "^5.0.0" chalk "^5.2.0" csv-parse "^5.3.0" - ethers "npm:@sentio/ethers@^6.7.1-patch.0" + ethers "npm:@sentio/ethers@^6.7.1-patch.4" js-sha3 "^0.9.0" lru-cache "^10.0.1" mkdirp "^1.0.4" @@ -1489,34 +1540,34 @@ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@typemove/aptos@~1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@typemove/aptos/-/aptos-1.2.8.tgz#833881e0d51b14e96b276e38f15523dc989cdd59" - integrity sha512-CpN7+RIYnATAZW0Q7BZAdUqrwgq34DHETSCDWQe8x5C2BD4caobMVBsBUQFxBCzLysumfSh/A6xLjiMZ4W1QUw== +"@typemove/aptos@~1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@typemove/aptos/-/aptos-1.3.1.tgz#a479c2a4676978698239985d00edcd77a0b5f601" + integrity sha512-/fQ3fRx9ZHiLQmuBNBJ6ZmL/BdAGhPLM/WbMrr8MMEm96V+koyG/qkNDH+OGMTtD5o71XEpRkpfPoIaTmWGOzQ== dependencies: - "@typemove/move" "1.2.8" - aptos "~1.20.0" + "@aptos-labs/ts-sdk" "~1.2.0" + "@typemove/move" "1.3.1" chalk "^5.3.0" commander "^11.1.0" prettier "^3.0.3" radash "^11.0.0" -"@typemove/move@1.2.8", "@typemove/move@~1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@typemove/move/-/move-1.2.8.tgz#50d11f226719408f88914e482159962b56d4ebc0" - integrity sha512-TVg5iU3BCeJeqDx8RhVeZf3GjYBvLFE3dWX5jlUHsB8inZpJSU1GFcsGESL/s/PeRIcfGx9ZsNV7R/HYgUmX5A== +"@typemove/move@1.3.1", "@typemove/move@~1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@typemove/move/-/move-1.3.1.tgz#8d4b9df502371226dce0116b3281720ead3ff13e" + integrity sha512-mOMtcW8lMCnR/wn/tGKcHtAPqCwF/MBUNCK6au97CDjcu7mlkA1+HyqYJR+QGDxI6veLDX7RLjtYIh+VmeWrZw== dependencies: chalk "^5.3.0" radash "^11.0.0" -"@typemove/sui@~1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@typemove/sui/-/sui-1.2.8.tgz#3086862db4a6bd9803fa6fa04942dfeaa0492da2" - integrity sha512-uh5BLAp0GPZ2YHEMDJBLn4rZlqrsW6QJaCLRs0iQkByhx+iiXYRZL4DNKZ0IYsGghdWDEIyJ+f0Gqif0vLf97Q== +"@typemove/sui@~1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@typemove/sui/-/sui-1.3.1.tgz#730721dd1400fd453fb59b0cb9e161a968ba8848" + integrity sha512-siFZ/Qgelh4IMaEAM0h+iPw+kTdx25iYidRCGLBELPUi8QMD4MJAh0UoEq4QbG7zRWfQCF+LdroOioCwM9b7Pg== dependencies: - "@mysten/bcs" "^0.8.1" - "@mysten/sui.js" "~0.46.1" - "@typemove/move" "1.2.8" + "@mysten/bcs" "^0.9.0" + "@mysten/sui.js" "~0.48.0" + "@typemove/move" "1.3.1" chalk "^5.3.0" commander "^11.1.0" prettier "^3.0.3" @@ -1869,18 +1920,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -"aptos-sdk@npm:aptos@^1.20.0", aptos@~1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/aptos/-/aptos-1.20.0.tgz#ef47a7c198ad61848336dc35f3d17417028e483a" - integrity sha512-driZt7qEr4ndKqqVHMyuFsQAHy4gJ4HPQttgVIpeDfnOIEnIV7A2jyJ9EYO2A+MayuyxXB+7yCNXT4HyBFJdpA== - dependencies: - "@aptos-labs/aptos-client" "^0.0.2" - "@noble/hashes" "1.1.3" - "@scure/bip39" "1.1.0" - eventemitter3 "^5.0.1" - form-data "4.0.0" - tweetnacl "1.0.3" - aptos@^1.17.0: version "1.17.0" resolved "https://registry.npmjs.org/aptos/-/aptos-1.17.0.tgz" @@ -2011,6 +2050,15 @@ axios@0.27.2: follow-redirects "^1.14.9" form-data "^4.0.0" +axios@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" + integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axios@^0.21.0: version "0.21.4" resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" @@ -3586,7 +3634,7 @@ ethereumjs-wallet@^1.0.0: utf8 "^3.0.0" uuid "^8.3.2" -ethers@^4.0.27, ethers@^6.7.1, "ethers@npm:@sentio/ethers@6.6.0", "ethers@npm:@sentio/ethers@^6.7.1-patch.0": +ethers@^4.0.27, ethers@^6.7.1, "ethers@npm:@sentio/ethers@6.6.0", "ethers@npm:@sentio/ethers@^6.7.1-patch.4": version "6.6.0" resolved "https://registry.yarnpkg.com/@sentio/ethers/-/ethers-6.6.0.tgz#e368a17e181536f9994f68d48b5b7ecf1e7a0e8a" integrity sha512-1ofcpDKnE2lvKklgD9QVaYAaXtLnjLlDapAYMPMkvWzbDXyug+MArvyX/Gva8jvqOBKcOE6/a/cH9P9FDzjrMw== @@ -4151,9 +4199,9 @@ got@12.1.0: p-cancelable "^3.0.0" responselike "^2.0.0" -got@^11.0.0, got@^11.8.5: +got@^11.0.0, got@^11.8.5, got@^11.8.6: version "11.8.6" - resolved "https://registry.npmjs.org/got/-/got-11.8.6.tgz" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== dependencies: "@sindresorhus/is" "^4.0.0"