From 730fc851849868bc46a349d79defc9c27907cd97 Mon Sep 17 00:00:00 2001 From: Fuyao Zhao Date: Mon, 25 Dec 2023 00:36:18 +0800 Subject: [PATCH] feat(aptos): use new aptos-ts-sdk (#64) --- examples/aptos/package.json | 4 +- examples/aptos/src/index.ts | 8 +- packages/aptos/package.json | 2 +- packages/aptos/src/abis/0x1.json | 163 +- packages/aptos/src/abis/0x4.json | 19 +- .../aptos/src/account-resource-client.test.ts | 4 +- packages/aptos/src/account-resource-client.ts | 49 +- packages/aptos/src/aptos-chain-adapter.ts | 16 +- packages/aptos/src/client.test.ts | 33 +- packages/aptos/src/codegen/codegen.ts | 55 +- packages/aptos/src/codegen/run.ts | 10 +- packages/aptos/src/codegen/types.test.ts | 11 +- packages/aptos/src/models.ts | 19 +- packages/aptos/src/move-coder.ts | 27 +- packages/aptos/src/move-types.ts | 25 +- packages/aptos/src/tests/move-call.test.ts | 16 +- packages/aptos/src/tests/move-coder.test.ts | 57 +- packages/aptos/src/to-internal.ts | 25 +- packages/move/src/abstract-codegen.ts | 9 +- packages/move/src/types.ts | 4 + packages/sui/src/abis/0x2.json | 2479 ++++++++++++++++- pnpm-lock.yaml | 99 +- 22 files changed, 2861 insertions(+), 273 deletions(-) diff --git a/examples/aptos/package.json b/examples/aptos/package.json index c2bdfee5..b601a0e5 100644 --- a/examples/aptos/package.json +++ b/examples/aptos/package.json @@ -16,9 +16,9 @@ "test": "NODE_OPTIONS=--experimental-vm-modules pnpm jest" }, "dependencies": { + "@aptos-labs/ts-sdk": "*", "@typemove/aptos": "workspace:*", - "@typemove/move": "workspace:*", - "aptos": "*" + "@typemove/move": "workspace:*" }, "url": "https://github.com/sentioxyz/typemove" } diff --git a/examples/aptos/src/index.ts b/examples/aptos/src/index.ts index 7c2d4eb7..f3d2cfd5 100644 --- a/examples/aptos/src/index.ts +++ b/examples/aptos/src/index.ts @@ -1,13 +1,13 @@ import { stable_pool } from './types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af' -import { AptosClient } from 'aptos' +import { Aptos, AptosConfig } from '@aptos-labs/ts-sdk' -const client = new AptosClient('https://fullnode.mainnet.aptoslabs.com') +const client = new Aptos(new AptosConfig({ fullnode: 'https://fullnode.mainnet.aptoslabs.com' })) -const [lpName] = await stable_pool.view.lpNameById(client, { arguments: [3n] }) +const [lpName] = await stable_pool.view.lpNameById(client, { functionArguments: [3n] }) console.log(lpName) const [poolBalances, weights, supply] = await stable_pool.view.poolInfo(client, { - arguments: [lpName], + functionArguments: [lpName] }) console.log(poolBalances, weights, supply) diff --git a/packages/aptos/package.json b/packages/aptos/package.json index 962ee19f..c727cc53 100644 --- a/packages/aptos/package.json +++ b/packages/aptos/package.json @@ -39,8 +39,8 @@ }, "types": "./dist/cjs/index.d.ts", "dependencies": { + "@aptos-labs/ts-sdk": "~1.2.0", "@typemove/move": "workspace:*", - "aptos": "~1.20.0", "chalk": "^5.3.0", "commander": "^11.1.0", "prettier": "^3.0.3", diff --git a/packages/aptos/src/abis/0x1.json b/packages/aptos/src/abis/0x1.json index bae12e2e..8c52388e 100644 --- a/packages/aptos/src/abis/0x1.json +++ b/packages/aptos/src/abis/0x1.json @@ -5552,7 +5552,7 @@ } }, { - "bytecode": "0xa11ceb0b060000000d010026022664038a01a30404ad055c058906e70407f00ad61308c61e2006e61e850210eb20fe0c0ae92df9010ce22f94170df6463a0fb04702000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001408000015060000160600001706000018060000190600001a0400001b0600001c0600001d0600001e0600001f06000020080000210800002207000c28070200000000052904010001032a0800012c0600082e07000f3307000756040106010a6a040000230001000024020300002504030000260403000027000400002b050400002d060700002f080900003004030000310a030000320b040000340c04000035020d0000360e0d00003704040000380401000039040100003a040100003b0f0300003c020300003d100300003e0f0300003f11030000400004000041040a00004204040000430203000044040100004504030000460a0300004712030000481303000049140300004a0f0300004b0f0300004c150300004d040300004e0a0300004f040a0000500409000051040100005204040000530b16000a7b1801000a7c190100067d010100057e1c010100057f1d0301000280011e030100078101200301060682010101001083010422000684010101000285010403000c86012401020404058701031d01000a88010125000c89012627020404058a01280301000a8b012901000b8c012a0400018d012a2c01060e8e012d04000c8801032e0204040c8f012e03020404049001383901001291013b0301000192010607000593012a0301001194010301000a413e0a000595013f1d01000c960141220204040c97014142020404019801460d000f9901394800069a010101000e3c0203000d9b010401000c9c01264b0204040c9d014c03020404129e014f2201000d9f010451000ea0010053000e471303000ea1011303000ea2011403000e4b0f030006a3010101000aa4013e010008a50157010009a6015801000e3000030005a7010401010005a8015a1d01002e1b2f1b301b311f3623371b39233a1b3d2b312b3f003d2f3d303d313d323d333d343d353d363d1f402341044101423a441b471b31354800490048444944390031314f00500031323f444f44504451043136312f313031345d1b5e1b020505010302060c0500010509060c060a050b0f02050b10010811080e050505030a0202060c0a02020c0812030a0813030301080e010a050206080d0502050814010c0106080d03060c050504060c05050504060c050814050206080d0303060c050304060c05050302060c06080d010b100108110405030306080d02060816050306081603030405030b1001081107080d01081101060b10010900010b1001090002050b1001090001080102070b1501090009001705050503050503070b15010802050708000b1001081103050c08120b1001081103081603030505060a05010102050b1001081101060b0f020900090101081602070b0f0209000901060900020900090102070b100109000b1001090003070816050301060c010802010b1501090006060c05050b10010811030a02010b0f020900090101080901080a01080401080501080801080b01080301080705050c0708000a02081201060900010a02010202070a09000a09000108130e050a0505030b1001081106081603030b10010811050303060a0507080d0106081602070b1001090003030303060a0502060b0f02090009010609000106090101060b0f02081405020814050107080d010608120501060505070b0f02050507080d010814020c07080d06050605070b0f02050507050507080d0107090103070b0f020900090109000901040c060814070b0f0208140507080d090a05010305010605060a05060a0506080d02060a09000609000403030307080d0403030303020306080d03030303030c0507080d040c060c0507080d0908130303060a0813030307080d081307080e02030813020303020c0302060c030767656e657369730776657374696e67076163636f756e740d6170746f735f6163636f756e740a6170746f735f636f696e0362637304636f696e056572726f72056576656e740d66697865645f706f696e743332066d617468363408706f6f6c5f753634067369676e65720a73696d706c655f6d6170057374616b65107374616b696e675f636f6e747261637406737472696e671073797374656d5f6164647265737365730974696d657374616d7006766563746f720a41646d696e53746f72651241646d696e57697468647261774576656e741a43726561746556657374696e67436f6e74726163744576656e740f446973747269627574654576656e741052657365744c6f636b75704576656e741353657442656e65666963696172794576656e740b5374616b696e67496e666f0e5465726d696e6174654576656e7412556e6c6f636b526577617264734576656e74135570646174654f70657261746f724576656e7410557064617465566f7465724576656e7409566573744576656e741856657374696e674163636f756e744d616e6167656d656e740f56657374696e67436f6e74726163740f56657374696e675363686564756c6513616363756d756c617465645f726577617264730e61646d696e5f77697468647261771e6173736572745f6163746976655f76657374696e675f636f6e74726163741e6173736572745f76657374696e675f636f6e74726163745f6578697374730b62656e65666963696172790953696d706c654d617004436f696e094170746f73436f696e176372656174655f76657374696e675f636f6e7472616374105369676e65724361706162696c6974791f6372656174655f76657374696e675f636f6e74726163745f6163636f756e740c4669786564506f696e743332176372656174655f76657374696e675f7363686564756c650a646973747269627574650f646973747269627574655f6d616e790f6765745f62656e656669636961727906537472696e670f6765745f726f6c655f686f6c6465721a6765745f76657374696e675f6163636f756e745f7369676e6572236765745f76657374696e675f6163636f756e745f7369676e65725f696e7465726e616c086f70657261746f721e6f70657261746f725f636f6d6d697373696f6e5f70657263656e7461676514706572696f645f6475726174696f6e5f736563730f72656d61696e696e675f6772616e741172657365745f62656e65666963696172790c72657365745f6c6f636b75700f7365745f62656e6566696369617279187365745f62656e65666963696172795f7265736574746572137365745f6d616e6167656d656e745f726f6c650b7368617265686f6c6465720c7368617265686f6c64657273127374616b655f706f6f6c5f616464726573731a7465726d696e6174655f76657374696e675f636f6e747261637419746f74616c5f616363756d756c617465645f726577617264730e756e6c6f636b5f7265776172647313756e6c6f636b5f726577617264735f6d616e790c756e6c6f636b5f7374616b651c7570646174655f636f6d6d697373696f6e5f70657263656e746167650f7570646174655f6f70657261746f72247570646174655f6f70657261746f725f776974685f73616d655f636f6d6d697373696f6e0c7570646174655f766f7465720c7665726966795f61646d696e047665737409766573745f6d616e791176657374696e675f636f6e7472616374731076657374696e675f7363686564756c651276657374696e675f73746172745f7365637305766f7465720e77697468647261775f7374616b65056e6f6e63650d6372656174655f6576656e74730b4576656e7448616e646c650561646d696e1876657374696e675f636f6e74726163745f6164647265737306616d6f756e740c6772616e745f616d6f756e74127769746864726177616c5f61646472657373147374616b696e675f706f6f6c5f6164647265737315636f6d6d697373696f6e5f70657263656e746167651a6e65775f6c6f636b75705f65787069726174696f6e5f736563730f6f6c645f62656e65666963696172790f6e65775f62656e65666963696172790c706f6f6c5f616464726573730c6f6c645f6f70657261746f720c6e65775f6f70657261746f72096f6c645f766f746572096e65775f766f7465720d706572696f645f76657374656405726f6c65730573746174650a6772616e745f706f6f6c04506f6f6c0d62656e65666963696172696573077374616b696e670a7369676e65725f636170167570646174655f6f70657261746f725f6576656e7473137570646174655f766f7465725f6576656e74731372657365745f6c6f636b75705f6576656e7473167365745f62656e65666963696172795f6576656e747315756e6c6f636b5f726577617264735f6576656e74730b766573745f6576656e747311646973747269627574655f6576656e7473107465726d696e6174655f6576656e74731561646d696e5f77697468647261775f6576656e7473087363686564756c651473746172745f74696d657374616d705f736563730f706572696f645f6475726174696f6e126c6173745f7665737465645f706572696f6406736861726573217368617265735f746f5f616d6f756e745f776974685f746f74616c5f636f696e730d696e76616c69645f73746174650576616c75650c64657374726f795f7a65726f0d6465706f7369745f636f696e730a656d69745f6576656e74096e6f745f666f756e641369735f72657365727665645f6164647265737310696e76616c69645f617267756d656e74246173736572745f6163636f756e745f69735f726567697374657265645f666f725f617074066c656e677468047a65726f066372656174650672656d6f7665056d65726765066275795f696e0a616464726573735f6f66106e65775f6576656e745f68616e646c65226372656174655f7374616b696e675f636f6e74726163745f776974685f636f696e730d64657374726f795f656d70747908746f5f627974657306617070656e64176372656174655f7265736f757263655f6163636f756e740872656769737465720b6e6f775f7365636f6e647307657874726163740c636f6e7461696e735f6b657906626f72726f771d6372656174655f7369676e65725f776974685f6361706162696c6974790475746638117065726d697373696f6e5f64656e6965640f6765745f6c6f636b75705f736563730a626f72726f775f6d75740361646408636f6e7461696e73096765745f7374616b65187374616b696e675f636f6e74726163745f616d6f756e7473107570646174655f636f6d6d6973696f6e0f7377697463685f6f70657261746f720f756e61757468656e746963617465640b746f74616c5f636f696e730c6d756c7469706c795f753634036d696e0762616c616e636508776974686472617700000000000000000000000000000000000000000000000000000000000000010308020000000000000003080100000000000000030807000000000000000308040000000000000003080b0000000000000003080f0000000000000003080e00000000000000030805000000000000000308100000000000000003080d000000000000000308080000000000000003080a00000000000000030809000000000000000308060000000000000003080c000000000000000308030000000000000003081e000000000000000a021a19524f4c455f42454e45464943494152595f52455345545445520a0219186170746f735f6672616d65776f726b3a3a76657374696e6705200000000000000000000000000000000000000000000000000000000000000000126170746f733a3a6d657461646174615f7631e90c1001000000000000001b45494e56414c49445f5749544844524157414c5f414444524553531e5769746864726177616c206164647265737320697320696e76616c69642e02000000000000001745454d5054595f56455354494e475f5343484544554c452156657374696e67207363686564756c652063616e6e6f7420626520656d7074792e03000000000000001d455a45524f5f56455354494e475f5343484544554c455f504552494f441b56657374696e6720706572696f642063616e6e6f7420626520302e040000000000000010454e4f5f5348415245484f4c44455253225368617265686f6c64657273206c6973742063616e6e6f7420626520656d7074792e050000000000000017455348415245535f4c454e4754485f4d49534d4154434838546865206c656e677468206f66207368617265686f6c6465727320616e6420736861726573206c6973747320646f6e2774206d617463682e0600000000000000174556455354494e475f53544152545f544f4f5f534f4f4e5756657374696e672063616e6e6f74207374617274206265666f7265206f72206174207468652063757272656e7420626c6f636b2074696d657374616d702e2048617320746f20626520696e20746865206675747572652e07000000000000000a454e4f545f41444d494e34546865207369676e6572206973206e6f74207468652061646d696e206f66207468652076657374696e6720636f6e74726163742e08000000000000001c4556455354494e475f434f4e54524143545f4e4f545f4143544956452d56657374696e6720636f6e7472616374206e6565647320746f20626520696e206163746976652073746174652e09000000000000001e4556455354494e475f434f4e54524143545f5354494c4c5f4143544956455141646d696e2063616e206f6e6c792077697468647261772066726f6d20616e20696e6163746976652028706175736564206f72207465726d696e61746564292076657374696e6720636f6e74726163742e0a000000000000001b4556455354494e475f434f4e54524143545f4e4f545f464f554e442e4e6f2076657374696e6720636f6e747261637420666f756e642061742070726f766964656420616464726573732e0b00000000000000144550454e44494e475f5354414b455f464f554e445f43616e6e6f74207465726d696e617465207468652076657374696e6720636f6e747261637420776974682070656e64696e6720616374697665207374616b652e204e65656420746f207761697420756e74696c206e6578742065706f63682e0c000000000000000b455a45524f5f4752414e54194772616e7420616d6f756e742063616e6e6f7420626520302e0d000000000000001d4556455354494e475f4143434f554e545f4841535f4e4f5f524f4c45533b56657374696e67206163636f756e7420686173206e6f206f74686572206d616e6167656d656e7420726f6c6573206265736964652061646d696e2e0e000000000000000f45524f4c455f4e4f545f464f554e44305468652076657374696e67206163636f756e7420686173206e6f2073756368206d616e6167656d656e7420726f6c652e0f0000000000000012455045524d495353494f4e5f44454e4945444c4163636f756e74206973206e6f742061646d696e206f7220646f6573206e6f7420686176652074686520726571756972656420726f6c6520746f2074616b65207468697320616374696f6e2e10000000000000001c455645435f454d5054595f464f525f4d414e595f46554e4354494f4e2e5a65726f206974656d7320776572652070726f766964656420746f2061202a5f6d616e792066756e6374696f6e2e000e05766f746572010100086f70657261746f720101000b62656e65666963696172790101000b7368617265686f6c6465720101000c7368617265686f6c646572730101000f72656d61696e696e675f6772616e740101001076657374696e675f7363686564756c650101001176657374696e675f636f6e747261637473010100127374616b655f706f6f6c5f616464726573730101001276657374696e675f73746172745f7365637301010013616363756d756c617465645f7265776172647301010014706572696f645f6475726174696f6e5f7365637301010019746f74616c5f616363756d756c617465645f726577617264730101001e6f70657261746f725f636f6d6d697373696f6e5f70657263656e746167650101000002034f0a055403550b15010802010203570558055903020207370552055a035b0558055c055d03030203570558055903040204570558055c055e030502055705580540055f0560050602046105370552055d0307020257055805080204570558055c055903090206570558055c05620563055d030a0205570558055c05640565050b0205570558055c05660359030c0201670b0f020814050d0212680357056908166b0b0f02050550080e5b056c08063a036d08126e0b150108096f0b1501080a700b15010804710b15010805720b15010808730b1501080b740b15010803750b15010807760b150108010e0204770a0813780379037a03000100010d17170a0011020a00111b0c040a000b0111170c020b002b0d0c050a0510000b02112b0c030b0510000b030b04112c02010104010d1a360a012b0d1001140700210408050d0b0001070c112d270a012a0d0c050b000a052e11230a050a010c022e0b02112a0c040e0438000c030a030600000000000000002104270b05010b043801020a051002140b0438020a050f030b051004140b010b031201380302020000010d030e0a0011030b002b0d100114070121040a050d070a112d27020300000003080b00290d04040507070b11322702040100010d03070a0011030b002b0d0b01110a02050100010021cc010a041133200405050c0b01010b000107011134270a0411350a014104060000000000000000240414051b0b01010b000107031134270e0238040a01410421042205290b01010b0001070711342738050c180600000000000000000c19071011380c1a0b010c1f0600000000000000000c1b0a1f41040c1c0a1b0a1c23045a053c0a1f0a1b4204140c1e0d020e1e38060c13010e1338000c140d180b1338070d1a0b1e0a14113b010b190b14160c190b1b060100000000000000160c1b05370b1f010a1906000000000000000024046105660b0001070e1134270a00113c0c110a1129002004740a00400400000000000000000600000000000000000a00380812002d000b000a0811060c170c160e160a050a060b180a070b08113e0c1d0e16113c0c150a112a000c120a120f050a1544040b120f060c100a050c090a060c0a0a040c0b0a190c0c0a150c0d0a1d0c0e0a070c0f0b100b090b0a0b0c0b0b0b0d0b0e0b0f120238090e1607010b110b1a380a0b030b040b1d0b050b060b0712060b190b170e16380b0e16380c0e16380d0e16380e0e16380f0e1638100e1638110e1638120e163813120d2d0d0b0238140b1502060000010037270a00113c2a000c040a00113c0c020e0238150c050d050a041007381638170a04100714060100000000000000160b040f07150d05071238170d050b0138170b000b0511430c060c030e0338180b030b060207010000031f0e00413c060000000000000000240406050907001134270a0206000000000000000024040e0511070f1134270a0111452604160519070d1134270b000b010b02060000000000000000120e02080104010d3d640a0011020a002a0d0c0e0a0e0a000c012e0b01112a0c050e0538000c0c0a0c0600000000000000002104180b0e010b053801020a0e10000c060a0611460c020e020c0d0600000000000000000c070a0d41040c080a070a08230449052a0a0d0a074204140c0a0a060a0a112b0c0b0a060b0b0a0c112c0c040d050b0438190c090a0e0b0a0c032e0b03110a0b0938020b07060100000000000000160c0705250b0d010b06010e0538000600000000000000002404580a0e1002140b053802055a0b0538010a0e0f080b0e1004140b000b0c1203381a02090104010d40220e004104060000000000000000220406050907081134270e000c030600000000000000000c010a0341040c020a010a0223041f05150a030a0142041411080b01060100000000000000160c0105100b0301020a00000004120a0010090e01381b040c0b0010090e01381c140c0205100b00010b010c020b02020b0100010c431a0a00290c0404050707091132270b002b0c100a0c020a020e01381d041005150b020107061132270b020e01381e14020c0100010d450b0b012a0d0c020b000a022e11230b022e110d020d00000003040b00100b114a020e0100010d03080a0011030b002b0d100c100d14020f0100010d03080a0011030b002b0d100c100e1402100100010d03080a0011030b002b0d100f10101402110100010d03070a0011030b002b0d10111402120104020c0d47310a012a0d0c070b00113c0c050a050a0710041421040f080c0305160b050b010711114b110b210c030b030419051e0b07010705114c270b070f090c060a060e020c042e0b04381b042e0b060e02381f010105300b060102130104010d49230a012a0d0c030b000a032e11230a032e110d0c020e020a03100c100d14114d0a030f120a031004140b010a03100c1013140b03100c101314114e1204382002140104010d4a320a0311350a012a0d0c090b000a092e11230a090a020c042e0b04110a0c080a090f090c060a060e020c052e0b05381b04220b060e0238210c070a030b071505260b060a020a0338220a090f140b091004140b010b020b080b031205382302150104020c0d03070b000b010711114b0b02111602160104020c0d4d2c0a012a0d0c070b000a072e11230a01290c2004140b072e110d0c040e043824120c2d0c05160b07010b012a0c0f0a0c060a060e020c052e0b05381d04270b030b060e02382515052b0b060b020b03382602170100010d4e470a0011020a0011180c020e020c080a080e013827040f0b08010b01020b002b0d0c0a07130c050b080c09090c060600000000000000000c040a040a09410423044305200a090a0442040c070a010a0a0a0714110a2104310b07140c05080c0305350b0701090c030b030c060a06043e0b0a010b090105430b04060100000000000000160c04051a0b06010b0502180100010d03070a0011020b002b0d1000114602190100010d03080a0011030b002b0d100c101314021a0104010d50350a0111020a0111080a012a0d0c050b000a052e11230a05100c1013141152010c04010c030b04060000000000000000210419051e0b05010704112d2707000a050f01150600000000000000000a050f11150a050b030c022e0b02111e0a050f150b051004140b0112073828021b0100010d52140a0011020a002b0d0c020b000a02100c100d1411530c01010b02101114170b0117021c0104010d01080a00111b0c010b002b0d0b01111e021d0104010d40220e004104060000000000000000220406050907081134270e000c030600000000000000000c010a0341040c020a010a0223041f05150a030a01420414111c0b01060100000000000000160c0105100b0301021e0000000d0b0a00110d0c020e020b00100c100d140b011154021f0104010d54180a01110e0c040b012a0d0c050b000a052e11230a052e110d0c030e030b040a0211550b020b050f0c0f0e1502200104010d55310a012a0d0c070b000a072e11230a072e110d0c040e040c050a07100c100d140c060b050a060a020a0311560a020a070f0c0f0d150a030a070f0c0f0e150a070f160a071004140b010b07100c1013140b060b020b031209382902210104010d01090a01110f0c030b000b010b020b03112002220104010d552d0a012a0d0c060b000a062e11230a062e110d0c030e030c040a06100c1017140c050b040a06100c100d140a0211570a020a060f0c0f17150a060f180a061004140b010b06100c1013140b050b02120a382a0223000000030c0b00113c0b01100414210408050b070211582702240104010d56700a00111c0a002a0d0c070a07100f101914114524040f0b0701020a070f0f0c090a09101a14060100000000000000160c0311450a09101914170a091010141a0a032304290b09010b0701020a09101b0c040a03060100000000000000170c050a050a04413c23043b0b040b05423c140c0105430a040b04413c06010000000000000017423c140c010b010c080a07100011590b08115a0a07101114115b0c060a071011140a06170a070f11150a030b090f1a150a070a060c022e0b02111e0a070f1c0a071004140b000b07100c1013140b030b06120b382b02250104010d40220e004104060000000000000000220406050907081134270e000c030600000000000000000c010a0341040c020a010a0223041f05150a030a0142041411240b01060100000000000000160c0105100b03010226010001000a0e0a002900200407400400000000000000000c01050c0b002b001005140c010b0102270100010d03070a0011030b002b0d100f1402280100010d03080a0011030b002b0d100f10191402290100010d03080a0011030b002b0d100c101714022a00000059100a010a00100c100d14115c0b01382c0c030b00110d0c020e020b03382d020d020d000d050d110d010000000200010d0f0d030c000d080d06060106030d040e020d070d0b06000d0c0d100d0906020d0a0e010e030e000d0e000000", + "bytecode": "0xa11ceb0b060000000d010026022664038a01ae0404b8055c059406e70407fb0af31308ee1e20068e1f8502109321fe0c0a912ef9010c8a30a1170dab473a0fe54702000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001408000015060000160600001706000018060000190600001a0400001b0600001c0600001d0600001e0600001f06000020080000210800002207000c28070200000000052904010001032a0800012c0600082e07000f3307000757040106010a6b040000230001000024020300002504030000260403000027000400002b050400002d060700002f080900003004030000310a030000320b040000340c04000035020d0000360e0d00003704040000380401000039040100003a040100003b0f0300003c020300003d100300003e020300003f0f0300004011030000410004000042040a00004304040000440203000045040100004604030000470a030000481203000049130300004a140300004b0f0300004c0f0300004d150300004e040300004f0a03000050040a0000510409000052040100005304040000540b16000a7c1801000a7d190100067e010100057f1c0101000580011d0301000281011e030100078201200301060683010101001084010422000685010101000286010403000c87012401020404058801031d01000a89010125000c8a012627020404058b01280301000a8c012901000b8d012a0400018e012a2c01060e8f012d04000c8901032e0204040c90012e03020404049101383901001292013b0301000193010607000594012a0301001195010301000a423e0a000596013f1d01000c970141220204040c98014142020404019901460d000f9a01394800069b010101000e3c0203000d9c010401000c9d01264b0204040c9e014c030204040e3e020300129f014f2201000da0010451000ea1010053000e481303000ea2011303000ea3011403000e4c0f030006a4010101000aa5013e010008a60157010009a7015801000e3000030005a8010401010005a9015a1d01002f1b301b311b321f3723381b3a233b1b3e2b322b40003e2f3e303e313e323e333e343e353e363e1f412342044201433a451b481b323549004a0049444a443a00323150005100323240445044514453043236322f323032345f1b601b020505010302060c0500010509060c060a050b0f02050b10010811080e050505030a0202060c0a02020c0812030a0813030301080e010a050206080d0502050814010c0106080d03060c050504060c05050504060c050814050206080d0303060c050304060c05050302060c06080d010b100108110405030306080d02060816050306081603030405030b1001081107080d01081101060b10010900010b1001090002050b1001090001080102070b1501090009001705050503050503070b15010802050708000b1001081103050c08120b1001081103081603030505060a05010102050b1001081101060b0f020900090101081602070b0f0209000901060900020900090102070b100109000b1001090003070816050301060c010802010b1501090006060c05050b10010811030a02010b0f020900090101080901080a01080401080501080801080b01080301080705050c0708000a02081201060900010a02010202070a09000a09000108130e050a0505030b1001081106081603030b10010811050303060a0507080d0106081602070b1001090003030303060a0502060b0f02090009010609000106090101060b0f02081405020814050107080d010608120501060505070b0f02050507080d010814020c07080d06050605070b0f02050507050507080d0107090103070b0f020900090109000901040c060814070b0f0208140507080d090a05010305010605060a05060a0506080d02060a09000609000403030307080d0403030303020306080d03030303030c0507080d040c060c0507080d0908130303060a0813030307080d081307080e02030813020303020c0302060c030767656e657369730776657374696e67076163636f756e740d6170746f735f6163636f756e740a6170746f735f636f696e0362637304636f696e056572726f72056576656e740d66697865645f706f696e743332066d617468363408706f6f6c5f753634067369676e65720a73696d706c655f6d6170057374616b65107374616b696e675f636f6e747261637406737472696e671073797374656d5f6164647265737365730974696d657374616d7006766563746f720a41646d696e53746f72651241646d696e57697468647261774576656e741a43726561746556657374696e67436f6e74726163744576656e740f446973747269627574654576656e741052657365744c6f636b75704576656e741353657442656e65666963696172794576656e740b5374616b696e67496e666f0e5465726d696e6174654576656e7412556e6c6f636b526577617264734576656e74135570646174654f70657261746f724576656e7410557064617465566f7465724576656e7409566573744576656e741856657374696e674163636f756e744d616e6167656d656e740f56657374696e67436f6e74726163740f56657374696e675363686564756c6513616363756d756c617465645f726577617264730e61646d696e5f77697468647261771e6173736572745f6163746976655f76657374696e675f636f6e74726163741e6173736572745f76657374696e675f636f6e74726163745f6578697374730b62656e65666963696172790953696d706c654d617004436f696e094170746f73436f696e176372656174655f76657374696e675f636f6e7472616374105369676e65724361706162696c6974791f6372656174655f76657374696e675f636f6e74726163745f6163636f756e740c4669786564506f696e743332176372656174655f76657374696e675f7363686564756c650a646973747269627574650f646973747269627574655f6d616e790f6765745f62656e656669636961727906537472696e670f6765745f726f6c655f686f6c6465721a6765745f76657374696e675f6163636f756e745f7369676e6572236765745f76657374696e675f6163636f756e745f7369676e65725f696e7465726e616c086f70657261746f721e6f70657261746f725f636f6d6d697373696f6e5f70657263656e7461676514706572696f645f6475726174696f6e5f736563730f72656d61696e696e675f6772616e741172657365745f62656e65666963696172790c72657365745f6c6f636b75700f7365745f62656e65666963696172791c7365745f62656e65666963696172795f666f725f6f70657261746f72187365745f62656e65666963696172795f7265736574746572137365745f6d616e6167656d656e745f726f6c650b7368617265686f6c6465720c7368617265686f6c64657273127374616b655f706f6f6c5f616464726573731a7465726d696e6174655f76657374696e675f636f6e747261637419746f74616c5f616363756d756c617465645f726577617264730e756e6c6f636b5f7265776172647313756e6c6f636b5f726577617264735f6d616e790c756e6c6f636b5f7374616b651c7570646174655f636f6d6d697373696f6e5f70657263656e746167650f7570646174655f6f70657261746f72247570646174655f6f70657261746f725f776974685f73616d655f636f6d6d697373696f6e0c7570646174655f766f7465720c7665726966795f61646d696e047665737409766573745f6d616e791176657374696e675f636f6e7472616374731076657374696e675f7363686564756c651276657374696e675f73746172745f7365637305766f7465720e77697468647261775f7374616b65056e6f6e63650d6372656174655f6576656e74730b4576656e7448616e646c650561646d696e1876657374696e675f636f6e74726163745f6164647265737306616d6f756e740c6772616e745f616d6f756e74127769746864726177616c5f61646472657373147374616b696e675f706f6f6c5f6164647265737315636f6d6d697373696f6e5f70657263656e746167651a6e65775f6c6f636b75705f65787069726174696f6e5f736563730f6f6c645f62656e65666963696172790f6e65775f62656e65666963696172790c706f6f6c5f616464726573730c6f6c645f6f70657261746f720c6e65775f6f70657261746f72096f6c645f766f746572096e65775f766f7465720d706572696f645f76657374656405726f6c65730573746174650a6772616e745f706f6f6c04506f6f6c0d62656e65666963696172696573077374616b696e670a7369676e65725f636170167570646174655f6f70657261746f725f6576656e7473137570646174655f766f7465725f6576656e74731372657365745f6c6f636b75705f6576656e7473167365745f62656e65666963696172795f6576656e747315756e6c6f636b5f726577617264735f6576656e74730b766573745f6576656e747311646973747269627574655f6576656e7473107465726d696e6174655f6576656e74731561646d696e5f77697468647261775f6576656e7473087363686564756c651473746172745f74696d657374616d705f736563730f706572696f645f6475726174696f6e126c6173745f7665737465645f706572696f6406736861726573217368617265735f746f5f616d6f756e745f776974685f746f74616c5f636f696e730d696e76616c69645f73746174650576616c75650c64657374726f795f7a65726f0d6465706f7369745f636f696e730a656d69745f6576656e74096e6f745f666f756e641369735f72657365727665645f6164647265737310696e76616c69645f617267756d656e74246173736572745f6163636f756e745f69735f726567697374657265645f666f725f617074066c656e677468047a65726f066372656174650672656d6f7665056d65726765066275795f696e0a616464726573735f6f66106e65775f6576656e745f68616e646c65226372656174655f7374616b696e675f636f6e74726163745f776974685f636f696e730d64657374726f795f656d70747908746f5f627974657306617070656e64176372656174655f7265736f757263655f6163636f756e740872656769737465720b6e6f775f7365636f6e647307657874726163740c636f6e7461696e735f6b657906626f72726f771d6372656174655f7369676e65725f776974685f6361706162696c6974790475746638117065726d697373696f6e5f64656e6965640f6765745f6c6f636b75705f736563730a626f72726f775f6d75740361646408636f6e7461696e73096765745f7374616b65187374616b696e675f636f6e74726163745f616d6f756e7473107570646174655f636f6d6d6973696f6e0f7377697463685f6f70657261746f720f756e61757468656e746963617465640b746f74616c5f636f696e730c6d756c7469706c795f753634036d696e0762616c616e636508776974686472617700000000000000000000000000000000000000000000000000000000000000010308020000000000000003080100000000000000030807000000000000000308040000000000000003080b0000000000000003080f0000000000000003080e00000000000000030805000000000000000308100000000000000003080d000000000000000308080000000000000003080a00000000000000030809000000000000000308060000000000000003080c000000000000000308030000000000000003081e000000000000000a021a19524f4c455f42454e45464943494152595f52455345545445520a0219186170746f735f6672616d65776f726b3a3a76657374696e6705200000000000000000000000000000000000000000000000000000000000000000126170746f733a3a6d657461646174615f7631e90c1001000000000000001b45494e56414c49445f5749544844524157414c5f414444524553531e5769746864726177616c206164647265737320697320696e76616c69642e02000000000000001745454d5054595f56455354494e475f5343484544554c452156657374696e67207363686564756c652063616e6e6f7420626520656d7074792e03000000000000001d455a45524f5f56455354494e475f5343484544554c455f504552494f441b56657374696e6720706572696f642063616e6e6f7420626520302e040000000000000010454e4f5f5348415245484f4c44455253225368617265686f6c64657273206c6973742063616e6e6f7420626520656d7074792e050000000000000017455348415245535f4c454e4754485f4d49534d4154434838546865206c656e677468206f66207368617265686f6c6465727320616e6420736861726573206c6973747320646f6e2774206d617463682e0600000000000000174556455354494e475f53544152545f544f4f5f534f4f4e5756657374696e672063616e6e6f74207374617274206265666f7265206f72206174207468652063757272656e7420626c6f636b2074696d657374616d702e2048617320746f20626520696e20746865206675747572652e07000000000000000a454e4f545f41444d494e34546865207369676e6572206973206e6f74207468652061646d696e206f66207468652076657374696e6720636f6e74726163742e08000000000000001c4556455354494e475f434f4e54524143545f4e4f545f4143544956452d56657374696e6720636f6e7472616374206e6565647320746f20626520696e206163746976652073746174652e09000000000000001e4556455354494e475f434f4e54524143545f5354494c4c5f4143544956455141646d696e2063616e206f6e6c792077697468647261772066726f6d20616e20696e6163746976652028706175736564206f72207465726d696e61746564292076657374696e6720636f6e74726163742e0a000000000000001b4556455354494e475f434f4e54524143545f4e4f545f464f554e442e4e6f2076657374696e6720636f6e747261637420666f756e642061742070726f766964656420616464726573732e0b00000000000000144550454e44494e475f5354414b455f464f554e445f43616e6e6f74207465726d696e617465207468652076657374696e6720636f6e747261637420776974682070656e64696e6720616374697665207374616b652e204e65656420746f207761697420756e74696c206e6578742065706f63682e0c000000000000000b455a45524f5f4752414e54194772616e7420616d6f756e742063616e6e6f7420626520302e0d000000000000001d4556455354494e475f4143434f554e545f4841535f4e4f5f524f4c45533b56657374696e67206163636f756e7420686173206e6f206f74686572206d616e6167656d656e7420726f6c6573206265736964652061646d696e2e0e000000000000000f45524f4c455f4e4f545f464f554e44305468652076657374696e67206163636f756e7420686173206e6f2073756368206d616e6167656d656e7420726f6c652e0f0000000000000012455045524d495353494f4e5f44454e4945444c4163636f756e74206973206e6f742061646d696e206f7220646f6573206e6f7420686176652074686520726571756972656420726f6c6520746f2074616b65207468697320616374696f6e2e10000000000000001c455645435f454d5054595f464f525f4d414e595f46554e4354494f4e2e5a65726f206974656d7320776572652070726f766964656420746f2061202a5f6d616e792066756e6374696f6e2e000e05766f746572010100086f70657261746f720101000b62656e65666963696172790101000b7368617265686f6c6465720101000c7368617265686f6c646572730101000f72656d61696e696e675f6772616e740101001076657374696e675f7363686564756c650101001176657374696e675f636f6e747261637473010100127374616b655f706f6f6c5f616464726573730101001276657374696e675f73746172745f7365637301010013616363756d756c617465645f7265776172647301010014706572696f645f6475726174696f6e5f7365637301010019746f74616c5f616363756d756c617465645f726577617264730101001e6f70657261746f725f636f6d6d697373696f6e5f70657263656e74616765010100000203500a055503560b15010802010203580559055a03020207370553055b035c0559055d055e03030203580559055a03040204580559055d055f03050205580559054105600561050602046205370553055e0307020258055905080204580559055d055a03090206580559055d05630564055e030a0205580559055d05650566050b0205580559055d0567035a030c0201680b0f020814050d0212690358056a08166c0b0f02050551080e5c056d08063a036e08126f0b15010809700b1501080a710b15010804720b15010805730b15010808740b1501080b750b15010803760b15010807770b150108010e0204780a081379037a037b03000100010d17170a0011020a00111c0c040a000b0111180c020b002b0d0c050a0510000b02112c0c030b0510000b030b04112d02010104010d1a360a012b0d1001140700210408050d0b0001070c112e270a012a0d0c050b000a052e11240a050a010c022e0b02112b0c040e0438000c030a030600000000000000002104270b05010b043801020a051002140b0438020a050f030b051004140b010b031201380302020000010d030e0a0011030b002b0d100114070121040a050d070a112e27020300000003080b00290d04040507070b11332702040100010d03070a0011030b002b0d0b01110a02050100010021cc010a041134200405050c0b01010b000107011135270a0411360a014104060000000000000000240414051b0b01010b000107031135270e0238040a01410421042205290b01010b0001070711352738050c180600000000000000000c19071011390c1a0b010c1f0600000000000000000c1b0a1f41040c1c0a1b0a1c23045a053c0a1f0a1b4204140c1e0d020e1e38060c13010e1338000c140d180b1338070d1a0b1e0a14113c010b190b14160c190b1b060100000000000000160c1b05370b1f010a1906000000000000000024046105660b0001070e1135270a00113d0c110a1129002004740a00400400000000000000000600000000000000000a00380812002d000b000a0811060c170c160e160a050a060b180a070b08113f0c1d0e16113d0c150a112a000c120a120f050a1544040b120f060c100a050c090a060c0a0a040c0b0a190c0c0a150c0d0a1d0c0e0a070c0f0b100b090b0a0b0c0b0b0b0d0b0e0b0f120238090e1607010b110b1a380a0b030b040b1d0b050b060b0712060b190b170e16380b0e16380c0e16380d0e16380e0e16380f0e1638100e1638110e1638120e163813120d2d0d0b0238140b1502060000010037270a00113d2a000c040a00113d0c020e0238150c050d050a041007381638170a04100714060100000000000000160b040f07150d05071238170d050b0138170b000b0511440c060c030e0338180b030b060207010000031f0e00413c060000000000000000240406050907001135270a0206000000000000000024040e0511070f1135270a0111462604160519070d1135270b000b010b02060000000000000000120e02080104010d3d640a0011020a002a0d0c0e0a0e0a000c012e0b01112b0c050e0538000c0c0a0c0600000000000000002104180b0e010b053801020a0e10000c060a0611470c020e020c0d0600000000000000000c070a0d41040c080a070a08230449052a0a0d0a074204140c0a0a060a0a112c0c0b0a060b0b0a0c112d0c040d050b0438190c090a0e0b0a0c032e0b03110a0b0938020b07060100000000000000160c0705250b0d010b06010e0538000600000000000000002404580a0e1002140b053802055a0b0538010a0e0f080b0e1004140b000b0c1203381a02090104010d40220e004104060000000000000000220406050907081135270e000c030600000000000000000c010a0341040c020a010a0223041f05150a030a0142041411080b01060100000000000000160c0105100b0301020a00000004120a0010090e01381b040c0b0010090e01381c140c0205100b00010b010c020b02020b0100010c431a0a00290c0404050707091133270b002b0c100a0c020a020e01381d041005150b020107061133270b020e01381e14020c0100010d450b0b012a0d0c020b000a022e11240b022e110d020d00000003040b00100b114b020e0100010d03080a0011030b002b0d100c100d14020f0100010d03080a0011030b002b0d100c100e1402100100010d03080a0011030b002b0d100f10101402110100010d03070a0011030b002b0d10111402120104020c0d47310a012a0d0c070b00113d0c050a050a0710041421040f080c0305160b050b010711114c110b210c030b030419051e0b07010705114d270b070f090c060a060e020c042e0b04381b042e0b060e02381f010105300b060102130104010d49230a012a0d0c030b000a032e11240a032e110d0c020e020a03100c100d14114e0a030f120a031004140b010a03100c1013140b03100c101314114f1204382002140104010d4a320a0311360a012a0d0c090b000a092e11240a090a020c042e0b04110a0c080a090f090c060a060e020c052e0b05381b04220b060e0238210c070a030b071505260b060a020a0338220a090f140b091004140b010b020b080b0312053823021501040003040b000b01115202160104020c0d03070b000b010711114c0b02111702170104020c0d4d2c0a012a0d0c070b000a072e11240a01290c2004140b072e110d0c040e043824120c2d0c05160b07010b012a0c0f0a0c060a060e020c052e0b05381d04270b030b060e02382515052b0b060b020b03382602180100010d4e470a0011020a0011190c020e020c080a080e013827040f0b08010b01020b002b0d0c0a07130c050b080c09090c060600000000000000000c040a040a09410423044305200a090a0442040c070a010a0a0a0714110a2104310b07140c05080c0305350b0701090c030b030c060a06043e0b0a010b090105430b04060100000000000000160c04051a0b06010b0502190100010d03070a0011020b002b0d10001147021a0100010d03080a0011030b002b0d100c101314021b0104010d50350a0111020a0111080a012a0d0c050b000a052e11240a05100c1013141154010c04010c030b04060000000000000000210419051e0b05010704112e2707000a050f01150600000000000000000a050f11150a050b030c022e0b02111f0a050f150b051004140b0112073828021c0100010d52140a0011020a002b0d0c020b000a02100c100d1411550c01010b02101114170b0117021d0104010d01080a00111c0c010b002b0d0b01111f021e0104010d40220e004104060000000000000000220406050907081135270e000c030600000000000000000c010a0341040c020a010a0223041f05150a030a01420414111d0b01060100000000000000160c0105100b0301021f0000000d0b0a00110d0c020e020b00100c100d140b01115602200104010d54180a01110e0c040b012a0d0c050b000a052e11240a052e110d0c030e030b040a0211570b020b050f0c0f0e1502210104010d55310a012a0d0c070b000a072e11240a072e110d0c040e040c050a07100c100d140c060b050a060a020a0311580a020a070f0c0f0d150a030a070f0c0f0e150a070f160a071004140b010b07100c1013140b060b020b031209382902220104010d01090a01110f0c030b000b010b020b03112102230104010d552d0a012a0d0c060b000a062e11240a062e110d0c030e030c040a06100c1017140c050b040a06100c100d140a0211590a020a060f0c0f17150a060f180a061004140b010b06100c1013140b050b02120a382a0224000000030c0b00113d0b01100414210408050b0702115a2702250104010d56700a00111d0a002a0d0c070a07100f101914114624040f0b0701020a070f0f0c090a09101a14060100000000000000160c0311460a09101914170a091010141a0a032304290b09010b0701020a09101b0c040a03060100000000000000170c050a050a04413c23043b0b040b05423c140c0105430a040b04413c06010000000000000017423c140c010b010c080a071000115b0b08115c0a07101114115d0c060a071011140a06170a070f11150a030b090f1a150a070a060c022e0b02111f0a070f1c0a071004140b000b07100c1013140b030b06120b382b02260104010d40220e004104060000000000000000220406050907081135270e000c030600000000000000000c010a0341040c020a010a0223041f05150a030a0142041411250b01060100000000000000160c0105100b03010227010001000a0e0a002900200407400400000000000000000c01050c0b002b001005140c010b0102280100010d03070a0011030b002b0d100f1402290100010d03080a0011030b002b0d100f101914022a0100010d03080a0011030b002b0d100c101714022b00000059100a010a00100c100d14115e0b01382c0c030b00110d0c020e020b03382d020d020d000d050d110d010000000200010d0f0d030c000d080d06060106030d040e020d070d0b06000d0c0d100d0906020d0a0e010e030e000d0e000000", "abi": { "address": "0x1", "name": "vesting", @@ -5712,6 +5712,15 @@ "params": ["&signer", "address", "address", "address"], "return": [] }, + { + "name": "set_beneficiary_for_operator", + "visibility": "public", + "is_entry": true, + "is_view": false, + "generic_type_params": [], + "params": ["&signer", "address"], + "return": [] + }, { "name": "set_beneficiary_resetter", "visibility": "public", @@ -6615,7 +6624,7 @@ } }, { - "bytecode": "0xa11ceb0b060000000b010006020604030af50105ff013907b8028e0b08c60d2006e60dbe0210a41092020ab612060cbc12cc060d88190200000001000200030800000400010000050001000006000100000700010000080001000009000100000a000100000b020000000c000100000d000100000e030100000f0001000010000100001100010000120001000013000400001400040000150004000016000400001700040000180004000019000400001a000400001b000400001c000400001d000400001e000400001f0004000020000400002100040000220004000023000400002400040000250004000026040100002700010000280001000029000400002a000100002b000100002c000100002d000100002e050000002f0001000030000100003100010000320001000233070800013404040000010103060c0a030a0302060a0203010303070a0203010906030603070a0203030303060a03060a0301060c01050301020301020302030702086665617475726573056572726f72067369676e65720846656174757265731c61676772656761746f725f736e617073686f74735f656e61626c656419616c6c6f775f766d5f62696e6172795f666f726d61745f76361d6170746f735f7374646c69625f636861696e5f69645f656e61626c65640d61756964735f656e61626c656413626c616b6532625f3235365f656e61626c65641c626c7331325f3338315f737472756374757265735f656e61626c65641462756c6c657470726f6f66735f656e61626c6564146368616e67655f666561747572655f666c6167731d636f64655f646570656e64656e63795f636865636b5f656e61626c65641f636f6c6c6563745f616e645f646973747269627574655f6761735f6665657308636f6e7461696e731c63727970746f6772617068795f616c67656272615f656e61626c65643164656c65676174696f6e5f706f6f6c5f7061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65641864656c65676174696f6e5f706f6f6c735f656e61626c6564116665655f70617965725f656e61626c6564206765745f61676772656761746f725f736e617073686f74735f66656174757265216765745f6170746f735f7374646c69625f636861696e5f69645f66656174757265096765745f6175696473176765745f626c616b6532625f3235365f666561747572651f6765745f626c7331325f3338315f7374727574757265735f66656174757265186765745f62756c6c657470726f6f66735f666561747572652b6765745f636f6c6c6563745f616e645f646973747269627574655f6761735f666565735f66656174757265286765745f63727970746f6772617068795f616c67656272615f6e6174697665735f666561747572652d6765745f64656c65676174696f6e5f706f6f6c5f7061727469616c5f676f7665726e616e63655f766f74696e671c6765745f64656c65676174696f6e5f706f6f6c735f66656174757265186765745f6d6f64756c655f6576656e745f666561747572651d6765745f6d756c74697369675f6163636f756e74735f666561747572651d6765745f7061727469616c5f676f7665726e616e63655f766f74696e672b6765745f706572696f646963616c5f7265776172645f726174655f64656372656173655f666561747572651b6765745f7265736f757263655f67726f7570735f66656174757265226765745f7368615f3531325f616e645f726970656d645f3136305f66656174757265246765745f7369676e65725f6e61746976655f666f726d61745f6669785f66656174757265286765745f73706f6e736f7265645f6175746f6d617469635f6163636f756e745f6372656174696f6e176765745f766d5f62696e6172795f666f726d61745f76360a69735f656e61626c6564146d6f64756c655f6576656e745f656e61626c6564246d756c74695f656432353531395f706b5f76616c69646174655f76325f656e61626c6564246d756c74695f656432353531395f706b5f76616c69646174655f76325f66656174757265196d756c74697369675f6163636f756e74735f656e61626c6564217061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c656427706572696f646963616c5f7265776172645f726174655f64656372656173655f656e61626c6564177265736f757263655f67726f7570735f656e61626c6564037365741e7368615f3531325f616e645f726970656d645f3136305f656e61626c6564207369676e65725f6e61746976655f666f726d61745f6669785f656e61626c65642c73706f6e736f7265645f6175746f6d617469635f6163636f756e745f6372656174696f6e5f656e61626c65641774726561745f667269656e645f61735f707269766174650a616464726573735f6f66117065726d697373696f6e5f64656e696564000000000000000000000000000000000000000000000000000000000000000103081e0000000000000003080400000000000000030817000000000000000308080000000000000003080d000000000000000308180000000000000003081400000000000000030801000000000000000308060000000000000003080c0000000000000003080b000000000000000308150000000000000003080e00000000000000030816000000000000000308260000000000000003081a0000000000000003080a00000000000000030807000000000000000308110000000000000003081000000000000000030809000000000000000308030000000000000003081d00000000000000030819000000000000000308220000000000000003080f000000000000000308020000000000000003080500000000000000052000000000000000000000000000000000000000000000000000000000000000010a020100126170746f733a3a6d657461646174615f7631fd0102010000000000000018454652414d45574f524b5f5349474e45525f4e4545444544305468652070726f7669646564207369676e657220686173206e6f742061206672616d65776f726b20616464726573732e0e0000000000000031454432353531395f5055424b45595f56414c49444154455f52455455524e5f46414c53455f57524f4e475f4c454e4754486d57686574686572206e61746976655f7075626c69635f6b65795f76616c69646174652061626f727473207768656e2061207075626c6963206b6579206f66207468652077726f6e67206c656e67746820697320676976656e0a204c69666574696d653a20657068656d6572616c0000000201000a0200010001000003070011220201010001000003071b112202020100010000030701112202030100010000030702112202040100010000030703112202050100010000030704112202060100010000030705112202070100010006550a00112f071c210406050b0b00010707113027071c29002004140b00071d12002d0005160b0001071c2a000f000c050e010c0b0600000000000000000c070a0b41040c090a070a0923043405260a0b0a0742040c040a050b041408112a0b07060100000000000000160c0705210b0b010e020c0a0600000000000000000c060a0a41040c080a060a0823045005420a0a0a0642040c030a050b031409112a0b06060100000000000000160c06053d0b0a010b0501020801000100000307071122020901000100000307081122020a00000009200a010608000000000000001a0c0431010b0106080000000000000019332f0c030a040a00410a23041a0b000b04420a140b031c3100220c02051e0b0001090c020b02020b01000100000307091122020c010001000003070b1122020d010001000003070a1122020e010001000003070d1122020f0100000002070002100100000002070102110100000002070202120100000002070302130100000002070402140100000002070502150100000002070802160100000002070902170100000002070b02180100000002070a02190100000002070f021a01000000020710021b01000000020712021c01000000020713021d01000000020714021e01000000020715021f0100000002071702200100000002071802210100000002071b022200000100010e071c2900040a071c2b0010000b00110a0c01050c090c010b010223010001000003070f1122022401000100000307111122022501000000020711022601000100000307101122022701000100000307121122022801000100000307131122022901000100000307141122022a0000000b2c0a010608000000000000001a0c0431010b0106080000000000000019332f0c030a002e410a0a0425041605120a003100440a050b0b000b04430a0c050b0204230a05140b031b0b0515052b0a051431ff0b031d1c0b0515022b01000100000307151122022c01000100000307171122022d01000100000307181122022e010001000003071a112202000000", + "bytecode": "0xa11ceb0b060000000b010006020604030aff010589023907c202da0b089c0e2006bc0ee60210a21192020ab413060cba13e1060d9b1a0200000001000200030800000400010000050001000006000100000700010000080001000009000100000a000100000b020000000c000100000d000100000e030100000f0001000010000100001100010000120001000013000400001400040000150004000016000400001700040000180004000019000400001a000400001b000400001c000400001d000400001e000400001f0004000020000400002100040000220004000023000400002400040000250004000026000400002704010000280001000029000100002a000400002b000100002c000100002d000100002e000100002f000100003005000000310001000032000100003300010000340001000235070800013604040000010103060c0a030a0302060a0203010303070a0203010906030603070a0203030303060a03060a0301060c01050301020301020302030702086665617475726573056572726f72067369676e65720846656174757265731c61676772656761746f725f736e617073686f74735f656e61626c656419616c6c6f775f766d5f62696e6172795f666f726d61745f76361d6170746f735f7374646c69625f636861696e5f69645f656e61626c65640d61756964735f656e61626c656413626c616b6532625f3235365f656e61626c65641c626c7331325f3338315f737472756374757265735f656e61626c65641462756c6c657470726f6f66735f656e61626c6564146368616e67655f666561747572655f666c6167731d636f64655f646570656e64656e63795f636865636b5f656e61626c65641f636f6c6c6563745f616e645f646973747269627574655f6761735f6665657308636f6e7461696e731c63727970746f6772617068795f616c67656272615f656e61626c65643164656c65676174696f6e5f706f6f6c5f7061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65641864656c65676174696f6e5f706f6f6c735f656e61626c6564116665655f70617965725f656e61626c6564206765745f61676772656761746f725f736e617073686f74735f66656174757265216765745f6170746f735f7374646c69625f636861696e5f69645f66656174757265096765745f6175696473176765745f626c616b6532625f3235365f666561747572651f6765745f626c7331325f3338315f7374727574757265735f66656174757265186765745f62756c6c657470726f6f66735f666561747572652b6765745f636f6c6c6563745f616e645f646973747269627574655f6761735f666565735f66656174757265286765745f63727970746f6772617068795f616c67656272615f6e6174697665735f666561747572652d6765745f64656c65676174696f6e5f706f6f6c5f7061727469616c5f676f7665726e616e63655f766f74696e671c6765745f64656c65676174696f6e5f706f6f6c735f66656174757265186765745f6d6f64756c655f6576656e745f666561747572651d6765745f6d756c74697369675f6163636f756e74735f66656174757265276765745f6f70657261746f725f62656e65666963696172795f6368616e67655f666561747572651d6765745f7061727469616c5f676f7665726e616e63655f766f74696e672b6765745f706572696f646963616c5f7265776172645f726174655f64656372656173655f666561747572651b6765745f7265736f757263655f67726f7570735f66656174757265226765745f7368615f3531325f616e645f726970656d645f3136305f66656174757265246765745f7369676e65725f6e61746976655f666f726d61745f6669785f66656174757265286765745f73706f6e736f7265645f6175746f6d617469635f6163636f756e745f6372656174696f6e176765745f766d5f62696e6172795f666f726d61745f76360a69735f656e61626c6564146d6f64756c655f6576656e745f656e61626c6564246d756c74695f656432353531395f706b5f76616c69646174655f76325f656e61626c6564246d756c74695f656432353531395f706b5f76616c69646174655f76325f66656174757265196d756c74697369675f6163636f756e74735f656e61626c6564236f70657261746f725f62656e65666963696172795f6368616e67655f656e61626c6564217061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c656427706572696f646963616c5f7265776172645f726174655f64656372656173655f656e61626c6564177265736f757263655f67726f7570735f656e61626c6564037365741e7368615f3531325f616e645f726970656d645f3136305f656e61626c6564207369676e65725f6e61746976655f666f726d61745f6669785f656e61626c65642c73706f6e736f7265645f6175746f6d617469635f6163636f756e745f6372656174696f6e5f656e61626c65641774726561745f667269656e645f61735f707269766174650a616464726573735f6f66117065726d697373696f6e5f64656e696564000000000000000000000000000000000000000000000000000000000000000103081e0000000000000003080400000000000000030817000000000000000308080000000000000003080d000000000000000308180000000000000003081400000000000000030801000000000000000308060000000000000003080c0000000000000003080b000000000000000308150000000000000003080e00000000000000030816000000000000000308260000000000000003081a0000000000000003080a0000000000000003080700000000000000030827000000000000000308110000000000000003081000000000000000030809000000000000000308200000000000000003081f000000000000000308030000000000000003081d0000000000000003081900000000000000030821000000000000000308220000000000000003080f000000000000000308020000000000000003080500000000000000052000000000000000000000000000000000000000000000000000000000000000010a020100126170746f733a3a6d657461646174615f7631fd0102010000000000000018454652414d45574f524b5f5349474e45525f4e4545444544305468652070726f7669646564207369676e657220686173206e6f742061206672616d65776f726b20616464726573732e0e0000000000000031454432353531395f5055424b45595f56414c49444154455f52455455524e5f46414c53455f57524f4e475f4c454e4754486d57686574686572206e61746976655f7075626c69635f6b65795f76616c69646174652061626f727473207768656e2061207075626c6963206b6579206f66207468652077726f6e67206c656e67746820697320676976656e0a204c69666574696d653a20657068656d6572616c0000000201000a0200010001000003070011230201010001000003071f112302020100010000030701112302030100010000030702112302040100010000030703112302050100010000030704112302060100010000030705112302070100010006550a0011310720210406050b0b00010707113227072029002004140b00072112002d0005160b000107202a000f000c050e010c0b0600000000000000000c070a0b41040c090a070a0923043405260a0b0a0742040c040a050b041408112c0b07060100000000000000160c0705210b0b010e020c0a0600000000000000000c060a0a41040c080a060a0823045005420a0a0a0642040c030a050b031409112c0b06060100000000000000160c06053d0b0a010b0501020801000100000307071123020901000100000307081123020a00000009200a010608000000000000001a0c0431010b0106080000000000000019332f0c030a040a00410a23041a0b000b04420a140b031c3100220c02051e0b0001090c020b02020b01000100000307091123020c010001000003070b1123020d010001000003070a1123020e010001000003070d1123020f0100000002070002100100000002070102110100000002070202120100000002070302130100000002070402140100000002070502150100000002070802160100000002070902170100000002070b02180100000002070a02190100000002070f021a01000000020710021b01000000020712021c01000000020713021d01000000020714021e01000000020715021f0100000002071802200100000002071a02210100000002071c02220100000002071f022300000100010e07202900040a07202b0010000b00110a0c01050c090c010b010224010001000003070f1123022501000100000307111123022601000000020711022701000100000307101123022801000100000307121123022901000100000307131123022a01000100000307141123022b01000100000307151123022c0000000b2c0a010608000000000000001a0c0431010b0106080000000000000019332f0c030a002e410a0a0425041605120a003100440a050b0b000b04430a0c050b0204230a05140b031b0b0515052b0a051431ff0b031d1c0b0515022d01000100000307181123022e010001000003071a1123022f010001000003071c11230230010001000003071e112302000000", "abi": { "address": "0x1", "name": "features", @@ -6855,6 +6864,15 @@ "params": [], "return": ["u64"] }, + { + "name": "get_operator_beneficiary_change_feature", + "visibility": "public", + "is_entry": false, + "is_view": false, + "generic_type_params": [], + "params": [], + "return": ["u64"] + }, { "name": "get_partial_governance_voting", "visibility": "public", @@ -6954,6 +6972,15 @@ "params": [], "return": ["bool"] }, + { + "name": "operator_beneficiary_change_enabled", + "visibility": "public", + "is_entry": false, + "is_view": false, + "generic_type_params": [], + "params": [], + "return": ["bool"] + }, { "name": "partial_governance_voting_enabled", "visibility": "public", @@ -13078,7 +13105,7 @@ } }, { - "bytecode": "0xa11ceb0b060000000c010020022064038401d50504d9065405ad07fa0507a70df51d089c2b2006bc2b980210d42dd2130aa641eb010c9143e8230df966380000000100020003000400050006000700080009000a000b000c000d000e000f001006000011060000120600001307000014080000150c0000160600001708000018070000190600001a0600001b0700001c0600001d0700001e0600082004000d6c040203010001016f06000672040106010a7b040200000000028a0108000ca1010b00001f000100002102030000220401000023050100002405010000250401000026040100002706030000280603000029070800002a090400002b070400002c0a0800002d090800002e0b0c00002f0d08000030040e00003102080000320f08000033100100003411110000351201000036040e00003704010000381301000039140800003a041500003b050300003c050300003d160400003e040400003f09170000400b04000041091800004219080000431a0100004418080000450408000046081b0000470408000048040e000049040e00004a0b1c00004b1d1e00004c051f00004d000100004e060800004f20080000500b2100005122010000522201000053040800005404010000550803000056000100005707230000580724000059250100005a250100005b250100005c250100005d260100005e000100005f060100098901280400048b01000101000b1f2a0100068c012c010106088d012d0800088e012d0300088f012e03000590010808000591010808000592010808000893013003000d940133340203020395011408000b410415000896011c08000897013908000b98010408000e99010108000b9a01040800039b01010800039c011008000f9d013d0101000749010e00079e01010e000b512201000a9f01014102070401a001284501060ba201040e000ca3010148000ca40149380001a5014a04000da6014d4e02030008a7014f080001a80150040008a9011c030008aa015208000bab010404000aac01544e02030007ad01010e0005ae0108080001af0156570004b001280101000bb1015801000d9f01015902030408b201085a000db30133010203000bb4010404000db5015f340203000db6014d0e0203000b4d2a010008b7016208000db8015f6402030008b9015a010001ba015021000b5222010008bb011c080008bc016701000b562a01000ab601690e0202000a94016a340203020ab5016b3402020003bd0104080003be012601000b5e2a01004129432b4b32433b553c433f59405938594259435a445a3b5a3f5f4c654069296b4c6d4c6b325a2b5a5b5a5c5a5d5a5e6f4c70325f32435b7332734c435e435c7a437b437c437a427b427c427b387b404344435d03060c0503000306080f05030104010502060804050307080405030306080407080705010302050503050503010608040501030303030206080406080301010406080f06080f050306060c050a020a020a0201010a0203060c05050207080405020503040303030302050a020201030303030303060807050303060c030a020108080106080f010708040107080f020108080407080405030808010c02060c05010708030107080b0406080405040505060c05030301050c05030507080401060c01081402060c0301080002070b1201090009000206080f050206080f030505040504050307080f050306050405040808050205080803070b1002090009010900090101070901020608070303070807070803060804090303030303030103030203030206080f04050708070608040c0305010801010202070a09000a090008040608040507080b0708070708030708030501080202080d03010b1302090009010205080b0205080301080c010b12010900030501080806081503030608040303010815010608150206050a020a010301030306080f01030608040808020808080f02060b1002090009010900010609010306080f0403010608110d0303030303040301030306080404030406080f0403040503080d060b1302080d03080d060b1302080d0303060b130209000901090006090107010b10020808080f05050a020c081102060c0a02020c081104060c030505010b10020900090101080f01080901080a01080e01080602070b1002090009010900050c050508080708040505040505040307080f05040a01050405050107080f050304010901020c0508030303030103030708040207080f03060504070803070b1302050803040302060b130209000901090003070b1302090009010900090102070b13020900090109000a0505030505070b130205080b010307080b070b130205080b06070803050708070708030507080b03070803050708071103070807070807080d050c0303070303030307030505070b1302080d0303090501010c030305060c08080f64656c65676174696f6e5f706f6f6c076163636f756e740a6170746f735f636f696e106170746f735f676f7665726e616e636504636f696e056572726f72056576656e7408666561747572657310706f6f6c5f7536345f756e626f756e64067369676e65720b736d6172745f7461626c65057374616b650e7374616b696e675f636f6e666967057461626c650974696d657374616d7006766563746f720d4164645374616b654576656e741343726561746550726f706f73616c4576656e741844656c6567617465566f74696e67506f7765724576656e740e44656c656761746564566f7465730e44656c65676174696f6e506f6f6c1744656c65676174696f6e506f6f6c4f776e6572736869701944697374726962757465436f6d6d697373696f6e4576656e7411476f7665726e616e63655265636f726473134f627365727665644c6f636b75704379636c6514526561637469766174655374616b654576656e7410556e6c6f636b5374616b654576656e740e566f746544656c65676174696f6e09566f74654576656e740f566f74696e675265636f72644b65791257697468647261775374616b654576656e74096164645f7374616b6504506f6f6c1a616d6f756e745f746f5f7368617265735f746f5f72656465656d1d6173736572745f64656c65676174696f6e5f706f6f6c5f657869737473196173736572745f6d696e5f6163746976655f62616c616e6365236173736572745f6d696e5f70656e64696e675f696e6163746976655f62616c616e6365176173736572745f6f776e65725f6361705f657869737473286173736572745f7061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c6564146275795f696e5f6163746976655f7368617265731e6275795f696e5f70656e64696e675f696e6163746976655f7368617265732463616c63756c6174655f616e645f7570646174655f64656c6567617465645f766f7465732463616c63756c6174655f616e645f7570646174655f64656c656761746f725f766f7465722d63616c63756c6174655f616e645f7570646174655f64656c656761746f725f766f7465725f696e7465726e616c2b63616c63756c6174655f616e645f7570646174655f72656d61696e696e675f766f74696e675f706f7765722d63616c63756c6174655f616e645f7570646174655f766f7465725f746f74616c5f766f74696e675f706f7765721a63616c63756c6174655f7374616b655f706f6f6c5f64726966741c63616c63756c6174655f746f74616c5f766f74696e675f706f7765721d63616e5f77697468647261775f70656e64696e675f696e61637469766523636f696e735f746f5f72656465656d5f746f5f656e737572655f6d696e5f7374616b6525636f696e735f746f5f7472616e736665725f746f5f656e737572655f6d696e5f7374616b650f6372656174655f70726f706f73616c1c6372656174655f7265736f757263655f6163636f756e745f736565641564656c65676174655f766f74696e675f706f7765721664656c65676174696f6e5f706f6f6c5f65786973747320656e61626c655f7061727469616c5f676f7665726e616e63655f766f74696e671a657865637574655f70656e64696e675f7769746864726177616c116765745f6164645f7374616b655f666565196765745f64656c65676174696f6e5f706f6f6c5f7374616b651b6765745f64656c656761746f725f6163746976655f736861726573256765745f64656c656761746f725f70656e64696e675f696e6163746976655f7368617265731f6765745f65787065637465645f7374616b655f706f6f6c5f61646472657373166765745f6f776e65645f706f6f6c5f61646472657373166765745f70656e64696e675f7769746864726177616c106765745f706f6f6c5f61646472657373096765745f7374616b65156765745f757365645f766f74696e675f706f7765721a696e697469616c697a655f64656c65676174696f6e5f706f6f6c146d756c7469706c795f7468656e5f646976696465156f627365727665645f6c6f636b75705f6379636c650e6f6c635f776974685f696e6465781e6f70657261746f725f636f6d6d697373696f6e5f70657263656e74616765106f776e65725f6361705f657869737473217061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65641c70656e64696e675f696e6163746976655f7368617265735f706f6f6c2070656e64696e675f696e6163746976655f7368617265735f706f6f6c5f6d75741970656e64696e675f7769746864726177616c5f65786973747310726561637469766174655f7374616b651472656465656d5f6163746976655f7368617265731672656465656d5f696e6163746976655f7368617265731972657472696576655f7374616b655f706f6f6c5f6f776e6572137365745f64656c6567617465645f766f7465720c7365745f6f70657261746f721e7368617265686f6c646572735f636f756e745f6163746976655f706f6f6c1b73796e6368726f6e697a655f64656c65676174696f6e5f706f6f6c07746f5f7531323806756e6c6f636b257570646174655f616e645f626f72726f775f6d75745f64656c6567617465645f766f7465732f7570646174655f616e645f626f72726f775f6d75745f64656c656761746f725f766f74655f64656c65676174696f6e337570646174655f676f7665726e616e6163655f7265636f7264735f666f725f72656465656d5f6163746976655f7368617265733d7570646174655f676f7665726e616e6163655f7265636f7264735f666f725f72656465656d5f70656e64696e675f696e6163746976655f736861726573327570646174655f676f7665726e616e63655f7265636f7264735f666f725f6275795f696e5f6163746976655f7368617265733c7570646174655f676f7665726e616e63655f7265636f7264735f666f725f6275795f696e5f70656e64696e675f696e6163746976655f73686172657304766f74650877697468647261771177697468647261775f696e7465726e616c0c706f6f6c5f616464726573731164656c656761746f725f616464726573730c616d6f756e745f61646465640d6164645f7374616b655f6665650b70726f706f73616c5f696405766f7465720964656c656761746f720d6163746976655f7368617265731770656e64696e675f696e6163746976655f736861726573196163746976655f7368617265735f6e6578745f6c6f636b7570166c6173745f6c6f636b65645f756e74696c5f736563730f696e6163746976655f736861726573055461626c651370656e64696e675f7769746864726177616c73157374616b655f706f6f6c5f7369676e65725f636170105369676e65724361706162696c69747914746f74616c5f636f696e735f696e616374697665106164645f7374616b655f6576656e74730b4576656e7448616e646c6517726561637469766174655f7374616b655f6576656e747313756e6c6f636b5f7374616b655f6576656e74731577697468647261775f7374616b655f6576656e74731c646973747269627574655f636f6d6d697373696f6e5f6576656e7473086f70657261746f7211636f6d6d697373696f6e5f6163746976651b636f6d6d697373696f6e5f70656e64696e675f696e61637469766505766f7465730a536d6172745461626c6512766f7465735f7065725f70726f706f73616c0f766f74655f64656c65676174696f6e0f64656c6567617465645f766f7465730b766f74655f6576656e7473166372656174655f70726f706f73616c5f6576656e74731c64656c65676174655f766f74696e675f706f7765725f6576656e747305696e64657812616d6f756e745f72656163746976617465640f616d6f756e745f756e6c6f636b65640d70656e64696e675f766f746572096e756d5f766f7465730b73686f756c645f7061737310616d6f756e745f77697468647261776e0a616464726573735f6f66094170746f73436f696e087472616e736665720a656d69745f6576656e740762616c616e63650673686172657310616d6f756e745f746f5f73686172657310696e76616c69645f617267756d656e74096e6f745f666f756e640d696e76616c69645f7374617465066275795f696e17626f72726f775f6d75745f776974685f64656661756c741a6765745f72656d61696e696e675f766f74696e675f706f7765720b746f74616c5f636f696e73107368617265735f746f5f616d6f756e74136765745f76616c696461746f725f73746174650b6e6f775f7365636f6e64730f6765745f6c6f636b75705f736563731b6765745f72657175697265645f70726f706f7365725f7374616b65176372656174655f70726f706f73616c5f76325f696d706c06617070656e643164656c65676174696f6e5f706f6f6c5f7061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c6564036e6577106e65775f6576656e745f68616e646c650d5374616b696e67436f6e6669671a69735f63757272656e745f65706f63685f76616c696461746f72036765740f6765745f7265776172645f72617465176372656174655f7265736f757263655f6164647265737306626f72726f77217368617265735f746f5f616d6f756e745f776974685f746f74616c5f636f696e731d6765745f7369676e65725f6361706162696c6974795f616464726573730c746f74616c5f736861726573217368617265735f746f5f616d6f756e745f776974685f746f74616c5f73746174730c6765745f6f70657261746f7213626f72726f775f776974685f64656661756c741864656c65676174696f6e5f706f6f6c735f656e61626c65640e616c72656164795f657869737473176372656174655f7265736f757263655f6163636f756e7408726567697374657216696e697469616c697a655f7374616b655f6f776e65721a6372656174655f776974685f7363616c696e675f666163746f7203616464136765745f64656c6567617465645f766f7465720a626f72726f775f6d757408636f6e7461696e730d72656465656d5f7368617265730672656d6f76650d64657374726f795f656d7074791d6372656174655f7369676e65725f776974685f6361706162696c697479127368617265686f6c646572735f636f756e74127570646174655f746f74616c5f636f696e73106765745f766f74696e675f706f7765720c7061727469616c5f766f746500000000000000000000000000000000000000000000000000000000000000010308110000000000000003080a0000000000000003080300000000000000030808000000000000000308090000000000000003080c0000000000000003080d0000000000000003080f00000000000000030805000000000000000308060000000000000003081000000000000000030802000000000000000308010000000000000003080e00000000000000030804000000000000000308070000000000000003080b00000000000000030810270000000000000308ffffffffffffffff030800ca9a3b000000000a0221206170746f735f6672616d65776f726b3a3a64656c65676174696f6e5f706f6f6c0520000000000000000000000000000000000000000000000000000000000000000003080000c16ff2862300126170746f733a3a6d657461646174615f7631bd1311010000000000000014454f574e45525f4341505f4e4f545f464f554e444844656c65676174696f6e20706f6f6c206f776e6572206361706162696c69747920646f6573206e6f74206578697374206174207468652070726f7669646564206163636f756e742e020000000000000019454f574e45525f4341505f414c52454144595f4558495354532c4163636f756e7420697320616c7265616479206f776e696e6720612064656c65676174696f6e20706f6f6c2e03000000000000001f4544454c45474154494f4e5f504f4f4c5f444f45535f4e4f545f45584953543c44656c65676174696f6e20706f6f6c20646f6573206e6f74206578697374206174207468652070726f766964656420706f6f6c20616464726573732e04000000000000001a4550454e44494e475f5749544844524157414c5f4558495354534e546865726520697320612070656e64696e67207769746864726177616c20746f206265206578656375746564206265666f72652060756e6c6f636b60696e6720616e79206e6577207374616b652e05000000000000001e45494e56414c49445f434f4d4d495353494f4e5f50455243454e544147453f436f6d6d697373696f6e2070657263656e746167652068617320746f206265206265747765656e203020616e6420604d41585f46454560202d20313030252e060000000000000022454e4f545f454e4f5547485f4143544956455f5354414b455f544f5f554e4c4f434b415468657265206973206e6f7420656e6f756768206061637469766560207374616b65206f6e20746865207374616b6520706f6f6c20746f2060756e6c6f636b602e07000000000000002345534c41534845445f494e4143544956455f5354414b455f4f4e5f504153545f4f4c43d302536c617368696e672028696620696d706c656d656e746564292073686f756c64206e6f74206265206170706c69656420746f20616c72656164792060696e61637469766560207374616b652e0a204e6f74206f6e6c7920697420696e76616c69646174657320746865206163636f756e74696e67206f662070617374206f62736572766564206c6f636b7570206379636c657320284f4c43292c0a2062757420697320616c736f20756e6661697220746f2064656c656761746f72732077686f7365207374616b6520686173206265656e20696e616374697665206265666f72652076616c696461746f722073746172746564206d69736265686176696e672e0a204164646974696f6e616c6c792c2074686520696e616374697665207374616b6520646f6573206e6f7420636f756e74206f6e2074686520766f74696e6720706f776572206f662076616c696461746f722e0800000000000000214544454c454741544f525f4143544956455f42414c414e43455f544f4f5f4c4f574a44656c656761746f722773206163746976652062616c616e63652063616e6e6f74206265206c657373207468616e20604d494e5f434f494e535f4f4e5f5348415245535f504f4f4c602e09000000000000002b4544454c454741544f525f50454e44494e475f494e4143544956455f42414c414e43455f544f4f5f4c4f575444656c656761746f7227732070656e64696e675f696e6163746976652062616c616e63652063616e6e6f74206265206c657373207468616e20604d494e5f434f494e535f4f4e5f5348415245535f504f4f4c602e0a000000000000001a4544454c45474154494f4e5f504f4f4c535f44495341424c45442d4372656174696e672064656c65676174696f6e20706f6f6c73206973206e6f7420656e61626c6564207965742e0b00000000000000144557495448445241575f5a45524f5f5354414b452643616e6e6f74207265717565737420746f207769746864726177207a65726f207374616b652e0c000000000000001445444550524543415445445f46554e4354494f4e1746756e6374696f6e20697320646570726563617465642e0d00000000000000124544495341424c45445f46554e4354494f4e305468652066756e6374696f6e2069732064697361626c6564206f72206861736e2774206265656e20656e61626c65642e0e0000000000000026455041525449414c5f474f5645524e414e43455f564f54494e475f4e4f545f454e41424c4544465061727469616c20676f7665726e616e636520766f74696e67206861736e2774206265656e20656e61626c6564206f6e20746869732064656c65676174696f6e20706f6f6c2e0f000000000000001c45494e53554646494349454e545f50524f504f5345525f5354414b453e54686520766f74657220646f6573206e6f7420686176652073756666696369656e74207374616b6520746f2063726561746520612070726f706f73616c2e100000000000000010454e4f5f564f54494e475f504f5745523a54686520766f74657220646f6573206e6f74206861766520616e7920766f74696e6720706f776572206f6e20746869732070726f706f73616c2e11000000000000002b45414c52454144595f564f5445445f4245464f52455f454e41424c455f5041525449414c5f564f54494e4773546865207374616b6520706f6f6c2068617320616c726561647920766f746564206f6e207468652070726f706f73616c206265666f726520656e61626c696e67207061727469616c20676f7665726e616e636520766f74696e67206f6e20746869732064656c65676174696f6e20706f6f6c2e0010096765745f7374616b65010100106f776e65725f6361705f657869737473010100116765745f6164645f7374616b655f666565010100156f627365727665645f6c6f636b75705f6379636c650101001664656c65676174696f6e5f706f6f6c5f657869737473010100166765745f6f776e65645f706f6f6c5f61646472657373010100166765745f70656e64696e675f7769746864726177616c010100196765745f64656c65676174696f6e5f706f6f6c5f7374616b650101001d63616e5f77697468647261775f70656e64696e675f696e6163746976650101001e6f70657261746f725f636f6d6d697373696f6e5f70657263656e746167650101001e7368617265686f6c646572735f636f756e745f6163746976655f706f6f6c0101001f6765745f65787065637465645f7374616b655f706f6f6c5f61646472657373010100217061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65640101002463616c63756c6174655f616e645f7570646174655f64656c656761746f725f766f7465720101002b63616c63756c6174655f616e645f7570646174655f72656d61696e696e675f766f74696e675f706f7765720101002d63616c63756c6174655f616e645f7570646174655f766f7465725f746f74616c5f766f74696e675f706f77657201010000020460056105620363030102036403650500050202036005660565050302046704680469046a0304020c67080f4508086b0b10020808080f6d0b10020508086e081170034703710b12010800730b12010809740b1201080a750b1201080e760b12010806050201600506020460057705780379030702077a0b1302080d037c0b130203037d0b130205080b7e0b13020508037f0b1201080c80010b1201080181010b12010802080201820103090203600561058301030a0203600561058401030b020365058501056a030c02056505640300058601038701010d0202650564030e02036005610588010300010402040727390a020600000000000000002104070b0001020a0111340a010a0211190c050a012a040c070a0011400c060b000a010a0238000a072e11300c030e030a0211420a070a060a020a05171107010a070a060c042e0b0411030a0707150a051107010b070f000b010b060b020b0512003801020100000003110a020a000a01114426040b0b000b0111450c03050f0b000b0211460c030b03020200000001080b0011160404050707021147270203000000010c0b0010010b0111440713260408050b07031147270204000000010c0b00112a0b0111440713260408050b0704114727020500000001080b00112804040507070c1148270206000000010a0a0011020b00112904060509070d1149270207000001072f280a0010010a0211460c060a06320000000000000000000000000000000021040d0b00013200000000000000000000000000000000020a002e11200c070a07112904200a000b070a060a010c050c040c032e0b030b040b05113b0b000f010b010b02114a010b06020800000107313d0a002e112a0a0211460c060a06320000000000000000000000000000000021040e0b00013200000000000000000000000000000000020a002e11200c080a08112904210a000b080a060a010c050c040c032e0b030b040b05113c0a00112b0a010b02114a010a000a0111180a001002140c070b000f030b010a073802140b07210438053b070e1149270b060209000000230a0a000b010b0211370c030b000b032e110f020a010002040701090a0011060a002b040b002a070b01110b020b00000001070b000b010b021138100414020c010002040735180a0011060a000a02114c06000000000000000021040a060000000000000000020a000a01110d0c040b002b070c030b040b030b010b02112217020d010002040736140a0011060a0011340a002b040c040b002a070c020a040b020b0111370c030b040b032e110f020e00000037590a001120114d0c090c080c060c030a060a0010051426040e05130b0001070f1149270a060a00100514240c070b030b08160c030a0704250b060a00100514170c090a001001114e0c040a030a042404370a030b04170a00100614071111240c0105390600000000000000000c010b010c040a00112a114e0c050a090a0524044d0a090b05170b00100614071111240c0205510b00010600000000000000000c020b020c050b070b030b090b040b05020f00000038120a0010010a01100714114f0c020b00112a0b01100814114f0c030b020b031602100100000e0f0a001150070e21040b11510b001152260c01050d090c010b01021100000038150a000a000a010a021101114f0c030b000b0111440c040a040b031707132304130b040c020b020212000000381c0a000a000a020a031101114f0c050b010a0211440c040a040b0516071323041707130b0417060100000000000000160c030b000b020b031111021301040204073a2d0a0111060a0111340b0011400c0a0a012b040c070a012a070c060b070b060a0a11091153260415051807071147270a012b0411300c080e080a010b020b030b040b0511540c090a012a070f090b090b0a0b01120138030214000000110a403c00000000000000000c010d01071438040d010b0038040b01021501040204073e490a0111060a0111340b0011400c050a012b040c040a012a070c070a040a070a0511380c060a06100a140c0a0a0a0a0222043d0a020b060f0a150a040a05111b0c030a040a070b0a11370c090a09100b140a03170b090f0b150b040a070a0211370c080a08100b140b03160b080f0b1505410b06010b04010b070f0c0b010b050b0212023805021601000001030b002904021701040204072126115604030506070611492711570409050c07061149270a0011020a0011340b002b0411300c010e010e01114011580e0138063807380838090e01380a0e01380b0e01380c12072d07021800000107461e0a000a010c022e0b02112c0c0404120e04100d140a001002100d14230c030514090c030b03041b0b000b010712113f051d0b000102190100010447350a00115b0431115c0c020e02115d0c070c060a0706000000000000000024042c0a0011020b002b040c050b0607110b0510061417180c060b070711180c070b01350a0635180b06350b0735161a340c03052e0600000000000000000c030b030c0405330600000000000000000c040b04021a01000001050a0011020b00114d021b00000001050b0010010b011145021c00000001050b00112a0b011145021d01000011070b0111140c020e000b02115e021e0100010501070a0011050b002b05100e14021f010001044b420a0011020b002b040c0a0a0a110e0c06010c09010c080a0a0a01112c0c0b2004190b0a01090600000000000000000c050c04053f0a0a100f0a0b380d0c070e0b100d140b0a1002100d1423042e080b070b0111440c030c02053b0a070b070b0111450b090b061711600c090b080b090c030c020b020b030c050c040b040b05022000000001040b0010101161022101000104515f0a0011020a002b040c0c0a0c110e0c060c05010c040c090a0c100111620c0d0a0c10010a0111450c070a00114d010c0a01010b0a06000000000000000021042c0b0d0a0c100107151145170c0d0a01071521042c32000000000000000000000000000000000c070b0c10010b070b040a05170b0d11630c040a000a01111f0c0e043f0b0e0600000000000000000c030c0205430600000000000000000b0e0c030c020b020b030c0b0c080b010b00116421045b0b040b05160c040b0904570b080b06160c08055b0b0b0b06160c0b0b040b080b0b022200000053130b0010110c070b010b02120d0c060b070c050b060c040600000000000000000c030b050b040e03380e1402230104020407555f1166040305080b000107011149270a0011400c050a05112820041005150b0001070b1167270a01071125041a051f0b000107081147270b0211140c070a000b0711680c090c080e08380f0e0811400c060e080600000000000000000a050b05116a38100c040d0406000000000000000011260716116c38110e080716116c06000000000000000011260b0438120b090600000000000000000b010e0838130e0838140e0838150e0838160e08381712042d040b000a0612052d051156045811570c03055a090c030b03045e0b0611170224010000010a0b0011350b011135180b0211351a3402250100010401080a0011020b002b041002100d14022600000001030b00120802270100010401070a0011020b002b04100614022801000001030b00290502290100000e0d0a00290704090a00116e0b00210c01050b090c010b01022a00000001070a00100f0b00100214380d022b0000001b090a001002140c010b000f0f0b013818022c0000001f180a0010030a013819040e080b0010030b01381a140c030c0205150b00010906000000000000000011260c030c020b020b03022d0104020407603c0a020600000000000000002104070b0001020a0111340a012a040c070b0011400c050a072e112a0a0710010a050b0211120c020a071002140c060a070a050b020b06112f0c020a072e11300c030e030a0211710a070a050a021107010a070a050c042e0b0411030b070f120b010b050b021209381b022e0000010761270a0010010a010b0211010c070a07320000000000000000000000000000000021040e0b0001060000000000000000020a002e11200c060a06112904210a000b060a070a010c050c040c032e0b030b040b0511390b000f010b010b071172022f0000010763690a00100f0a03380d0a010b0211010c0d0a0d32000000000000000000000000000000002104100b0001060000000000000000020a002e11200c0b0a0b112904210e03100d140a001002100d14210c040523090c040b0404310a000b0b0a0d0a010c070c060c052e0b050b060b07113a0a000f0f0a0338180c0a0a0a0a010b0d11720c0c0a0a0a010c082e0b08114532000000000000000000000000000000002104490a000f030b01381c010e03100d140a001002100d142304590b0a2e114e060000000000000000210c09055d0b0a01090c090b0904650b000f0f0b03381d117405670b00010b0c023000000001040b001010117502310104030405076517115720040405090b000107051149270b001140111e0c030a0311340b032b0411300c020e020b0111580232010403040507650e0b001140111e0c030a0311340b032b0411300c020e020b01117602330100010401070a0011020b002b041001117702340104020407665f0a0011020a002a040c080a082e110e0c030c020c070c010c050a00114d010c0601010b0606000000000000000021041c0a0807150712112e010a080f010b010a021711780a08112b0b070a031711780a080a0011640a021107010a080a0011640a031108010a080f130a000a0011640b020b031206381e0b05045c0b00114d01010c04010b040a080f05150a081002100d14060100000000000000160a080f020f0d150a080f0f0b081002140716116c3811055e0b0801023500000001030b00350236010402040727470a020600000000000000002104070b0001020a01114d0101010c050a020b0525041205170b000107091147270a0111340a012a040c070b0011400c060a0710010a072e112a0a060b0211120c020a070a060b02112e0c020a072e11300c030e030a0211790a070a060a021108010a070a060c042e0b0411040b070f140b010b060b02120a381f0237000000683c0a00112011520c080b010f150c060a060a020c032e0b0338202004200a000a02111b0c040b000a02111c0c070b060b020a040b070b040b0812033821020b00010b060b0238220c050a051016140a0823043a0a05100b140a050f071532000000000000000000000000000000000a050f08150b080a050f16150b0502380000006c400b00112011520c0a0b010f170c0c0a0c0a020c032e0b0338232004210b0c0c080a020c070a020c040b0a0c050b020c060b080b070b040b060b05120b3824020b0c0b0238250c0b0a0b1018140b0a2304340a0b1004140a0b100a14220c090536090c090b09043e0a0b100a140a0b0f04150b0b0239000001076d3e0b012a070c060a000a060b0311380c090a091004140c050b09100a140c080a000a060a0511370c040a041007140a02170a040f07150b050a0821042e0b00010b06010a04100b140b02170b040f0b15053d0b04010b000b060b0811370c070a07100b140b02170b070f0b15023a000001076e160b012a070c060a000a060b03110b0c050b000b060b0511370c040a041008140b02170b040f0815023b000001076d3e0b012a070c060a000a060b0311380c090a091004140c050b09100a140c080a000a060a0511370c040a041007140a02160a040f07150a080b0521042e0b00010b06010a04100b140b02160b040f0b15053d0b04010b000b060b0811370c070a07100b140b02160b070f0b15023c000001076e160b012a070c060a000a060b03110b0c050b000b060b0511370c040a041008140b02160b040f0815023d01040204076f730a0111060a0111340b0011400c130a010a130a02110c0c0e0a030a0e2404120b0e0c030a03060000000000000000240417051a070a1147270a012a070c060a060a010a020a030c150c0b0c090c070a090a0b114c0c0f0b09117d0b0f170c100b070f190b0b06000000000000000038260c0d0b100a0d1421043a05410b0d010b060107001147270a0d140b15160b0d150a060a130a020c0c0c120f110c140b0c0c050b120b05120d0c080b140b0806000000000000000038270c110a11140a03160b11150a012b0411300c0a0e0a0a010a020a030a04117e0b060f1a0b130b020b010b030b04120c3828023e010402040701130a02060000000000000000240405050a0b000107101147270a0111340b012a040b0011400b02113f023f000001077082010a020600000000000000002104070b0001020a002e11200c090a000a010c032e0b03112c0c0b04250e0b100d140a001002100d1423041f080c0405220a0911100c040b040c050527090c050b0520042d0b0001020e0b100d140a001002100d1421043d0a002e112a0a010b0211110c020a000a010b020a0b112f0c020a002e11300c060e060c0a0a09111004690a09114d0c080101010e0b100d140a001002100d1421045f0b080a02170c080a0a0a0811710a0a0a02117f0a0a0b081179056c0a0a0a02117f0b0a0a010a0238000a09114d01010c07010b070a000f05150b000f1b0b090b010b02120e38290204070400040104030b00040504060300030107050b0103020706080005000402040407000408040b04090703030307020b0207010704040a00", + "bytecode": "0xa11ceb0b060000000c010022022271039301eb0504fe065805d607830607d90dd41f08ad2d2006cd2dac0210f92fd5150ace458f020cdd47f9240dd66c3a0000000100020003000400050006000700080009000a000b000c000d000e000f001000110600001208000013060000140600001507000016080000170c000018060000190600001a0800001b0700001c0600001d0600001e0600001f0700002006000021070000220600092404000e72040203010001017506000778040106010b82010402000000000da9010b0003b8010800002300010000250203000026040100002705010000280501000029040100002a040100002b040400002c060300002d060300002e070800002f090400003007040000310a0800003209080000330b0c0000340d08000035040e00003602080000370f080000381001000039111100003a120100003b040e00003c040100003d130100003e140800003f0415000040050300004105030000421604000043040400004409170000450b04000046091800004719080000481a01000049180800004a040800004b081b00004c040800004d040e00004e040e00004f0b1c0000501d1e000051051f0000520001000053060800005420080000550b21000056220100005722010000582201000059040800005a040100005b080300005c000100005d072300005e072400005f2501000060250100006125010000622501000063260100006400010000650601000a92012804000293010001000c232901000794012b0101060995012c08000996012c03000997012d0300069801080800069901080800069a01080800099b012f03000e9c013233020302049d011408000c46041500099e011c0800099f013808000ca0010408000fa1010108000ca20104080004a30101080004a40110080010a5013c010100084e010e0008a601010e000c572201000ba701014002070401a801284401060caa01040e000dab010147000dac0148370001ad014904000eae014c4d02030009af014e080001b0014f040009b1011c030009b2015108000cb3010404000bb401534d02030008b501010e0006b60108080001b70155560005b901280101000cba015801000ea701015902030409bb01085a000ebc0132010203000cbd010404000ebe015f330203000ebf014c0e0203000c5229010009c0016208000ec1015f6402030009c2015a010001c3014f210008c401010e0007c501660101060c5822010009c6011c080009c7016901000c5c2901000bbf016c0e0202000b9c016d330203020bbe016e3302020004c80104080004c9012601000c64290100452a4d31453a573b453e5b3f5b375b415b425c435c3a5c3e614b673f6b576d4b6f4b6d315c2a5c5b5c5c5c5d5c5e714b72316131455b7531754b7965455e796a455c7e427f428001427e417f418001417f377f3f4543455d03060c05030003060812050301040105020608050503070805050303060805070809050103020505030505030106080505010303030302060805060804010104060812060812050306060c050a020a020a0201010a0203060c05050207080505020503040303030302050a020201030303030303060809050303060c030a0201080a0106081201070805010708120201080a040708050503080a010c02060c05010708040107080e0406080505040505060c05030301050c05030507080501060c02060c0301080002070b150109000900020608120502060812030505040504050307081205030605040504080a050205080a03070b1302090009010900090101070901020608090303070809070804060805090303030303030103030203030206081204050708090608050c0305010802010202070a09000a090008040608050507080e0708090708040708040501080302081003010b1602090009010205080e0205080401080f010b15010900030501080a06081703030608050303010817010608170206050a020a01030103030608120103060805080a02080a081202060b130209000901090001060901030608120403010608140d0303030303040301030306080504030406081204030405030810060b16020810030810060b160208100303060b160209000901090006090107010b1302080a081205050a020c081402060c0a02020c081401081804060c030505010b13020900090101081201080b01080d01081101080802070b1302090009010900050c0505080a0708050505040505040307081205040a01050405050107081205030401090101080c010900020c0508030303030103030708050207081203010807060504070804070b1602050804040302060b160209000901090003070b1602090009010900090102070b16020900090109000a0505030505070b160205080e010307080e070b160205080e06070804050708090708040507080e030708040507080911030708090708090810050c0303070303030307030505070b160208100303090501010c030305060c080a0f64656c65676174696f6e5f706f6f6c076163636f756e740d6170746f735f6163636f756e740a6170746f735f636f696e106170746f735f676f7665726e616e636504636f696e056572726f72056576656e7408666561747572657310706f6f6c5f7536345f756e626f756e64067369676e65720b736d6172745f7461626c65057374616b650e7374616b696e675f636f6e666967057461626c650974696d657374616d7006766563746f720d4164645374616b654576656e741642656e6566696369617279466f724f70657261746f721343726561746550726f706f73616c4576656e741844656c6567617465566f74696e67506f7765724576656e740e44656c656761746564566f7465730e44656c65676174696f6e506f6f6c1744656c65676174696f6e506f6f6c4f776e6572736869701444697374726962757465436f6d6d697373696f6e1944697374726962757465436f6d6d697373696f6e4576656e7411476f7665726e616e63655265636f726473134f627365727665644c6f636b75704379636c6514526561637469766174655374616b654576656e741953657442656e6566696369617279466f724f70657261746f7210556e6c6f636b5374616b654576656e740e566f746544656c65676174696f6e09566f74654576656e740f566f74696e675265636f72644b65791257697468647261775374616b654576656e74096164645f7374616b6504506f6f6c1a616d6f756e745f746f5f7368617265735f746f5f72656465656d1d6173736572745f64656c65676174696f6e5f706f6f6c5f657869737473196173736572745f6d696e5f6163746976655f62616c616e6365236173736572745f6d696e5f70656e64696e675f696e6163746976655f62616c616e6365176173736572745f6f776e65725f6361705f657869737473286173736572745f7061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65641862656e65666963696172795f666f725f6f70657261746f72146275795f696e5f6163746976655f7368617265731e6275795f696e5f70656e64696e675f696e6163746976655f7368617265732463616c63756c6174655f616e645f7570646174655f64656c6567617465645f766f7465732463616c63756c6174655f616e645f7570646174655f64656c656761746f725f766f7465722d63616c63756c6174655f616e645f7570646174655f64656c656761746f725f766f7465725f696e7465726e616c2b63616c63756c6174655f616e645f7570646174655f72656d61696e696e675f766f74696e675f706f7765722d63616c63756c6174655f616e645f7570646174655f766f7465725f746f74616c5f766f74696e675f706f7765721a63616c63756c6174655f7374616b655f706f6f6c5f64726966741c63616c63756c6174655f746f74616c5f766f74696e675f706f7765721d63616e5f77697468647261775f70656e64696e675f696e61637469766523636f696e735f746f5f72656465656d5f746f5f656e737572655f6d696e5f7374616b6525636f696e735f746f5f7472616e736665725f746f5f656e737572655f6d696e5f7374616b650f6372656174655f70726f706f73616c1c6372656174655f7265736f757263655f6163636f756e745f736565641564656c65676174655f766f74696e675f706f7765721664656c65676174696f6e5f706f6f6c5f65786973747320656e61626c655f7061727469616c5f676f7665726e616e63655f766f74696e671a657865637574655f70656e64696e675f7769746864726177616c116765745f6164645f7374616b655f666565196765745f64656c65676174696f6e5f706f6f6c5f7374616b651b6765745f64656c656761746f725f6163746976655f736861726573256765745f64656c656761746f725f70656e64696e675f696e6163746976655f7368617265731f6765745f65787065637465645f7374616b655f706f6f6c5f61646472657373166765745f6f776e65645f706f6f6c5f61646472657373166765745f70656e64696e675f7769746864726177616c106765745f706f6f6c5f61646472657373096765745f7374616b65156765745f757365645f766f74696e675f706f7765721a696e697469616c697a655f64656c65676174696f6e5f706f6f6c146d756c7469706c795f7468656e5f646976696465156f627365727665645f6c6f636b75705f6379636c650e6f6c635f776974685f696e6465781e6f70657261746f725f636f6d6d697373696f6e5f70657263656e74616765106f776e65725f6361705f657869737473217061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65641c70656e64696e675f696e6163746976655f7368617265735f706f6f6c2070656e64696e675f696e6163746976655f7368617265735f706f6f6c5f6d75741970656e64696e675f7769746864726177616c5f65786973747310726561637469766174655f7374616b651472656465656d5f6163746976655f7368617265731672656465656d5f696e6163746976655f7368617265731972657472696576655f7374616b655f706f6f6c5f6f776e65721c7365745f62656e65666963696172795f666f725f6f70657261746f72137365745f64656c6567617465645f766f7465720c7365745f6f70657261746f721e7368617265686f6c646572735f636f756e745f6163746976655f706f6f6c1b73796e6368726f6e697a655f64656c65676174696f6e5f706f6f6c07746f5f7531323806756e6c6f636b257570646174655f616e645f626f72726f775f6d75745f64656c6567617465645f766f7465732f7570646174655f616e645f626f72726f775f6d75745f64656c656761746f725f766f74655f64656c65676174696f6e337570646174655f676f7665726e616e6163655f7265636f7264735f666f725f72656465656d5f6163746976655f7368617265733d7570646174655f676f7665726e616e6163655f7265636f7264735f666f725f72656465656d5f70656e64696e675f696e6163746976655f736861726573327570646174655f676f7665726e616e63655f7265636f7264735f666f725f6275795f696e5f6163746976655f7368617265733c7570646174655f676f7665726e616e63655f7265636f7264735f666f725f6275795f696e5f70656e64696e675f696e6163746976655f73686172657304766f74650877697468647261771177697468647261775f696e7465726e616c0c706f6f6c5f616464726573731164656c656761746f725f616464726573730c616d6f756e745f61646465640d6164645f7374616b655f6665650b70726f706f73616c5f696405766f7465720964656c656761746f720d6163746976655f7368617265731770656e64696e675f696e6163746976655f736861726573196163746976655f7368617265735f6e6578745f6c6f636b7570166c6173745f6c6f636b65645f756e74696c5f736563730f696e6163746976655f736861726573055461626c651370656e64696e675f7769746864726177616c73157374616b655f706f6f6c5f7369676e65725f636170105369676e65724361706162696c69747914746f74616c5f636f696e735f696e616374697665106164645f7374616b655f6576656e74730b4576656e7448616e646c6517726561637469766174655f7374616b655f6576656e747313756e6c6f636b5f7374616b655f6576656e74731577697468647261775f7374616b655f6576656e74731c646973747269627574655f636f6d6d697373696f6e5f6576656e7473086f70657261746f720b62656e656669636961727911636f6d6d697373696f6e5f6163746976651b636f6d6d697373696f6e5f70656e64696e675f696e61637469766505766f7465730a536d6172745461626c6512766f7465735f7065725f70726f706f73616c0f766f74655f64656c65676174696f6e0f64656c6567617465645f766f7465730b766f74655f6576656e7473166372656174655f70726f706f73616c5f6576656e74731c64656c65676174655f766f74696e675f706f7765725f6576656e747305696e64657812616d6f756e745f72656163746976617465640f6f6c645f62656e65666963696172790f6e65775f62656e65666963696172790f616d6f756e745f756e6c6f636b65640d70656e64696e675f766f746572096e756d5f766f7465730b73686f756c645f7061737310616d6f756e745f77697468647261776e0a616464726573735f6f66087472616e736665720a656d69745f6576656e740762616c616e63650673686172657310616d6f756e745f746f5f73686172657310696e76616c69645f617267756d656e74096e6f745f666f756e640d696e76616c69645f7374617465066275795f696e17626f72726f775f6d75745f776974685f64656661756c741a6765745f72656d61696e696e675f766f74696e675f706f7765720b746f74616c5f636f696e73107368617265735f746f5f616d6f756e74136765745f76616c696461746f725f73746174650b6e6f775f7365636f6e64730f6765745f6c6f636b75705f736563731b6765745f72657175697265645f70726f706f7365725f7374616b65176372656174655f70726f706f73616c5f76325f696d706c06617070656e643164656c65676174696f6e5f706f6f6c5f7061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c6564036e6577106e65775f6576656e745f68616e646c650d5374616b696e67436f6e6669671a69735f63757272656e745f65706f63685f76616c696461746f72036765740f6765745f7265776172645f72617465176372656174655f7265736f757263655f6164647265737306626f72726f77217368617265735f746f5f616d6f756e745f776974685f746f74616c5f636f696e731d6765745f7369676e65725f6361706162696c6974795f616464726573730c746f74616c5f736861726573217368617265735f746f5f616d6f756e745f776974685f746f74616c5f73746174730c6765745f6f70657261746f7213626f72726f775f776974685f64656661756c741864656c65676174696f6e5f706f6f6c735f656e61626c65640e616c72656164795f657869737473176372656174655f7265736f757263655f6163636f756e74094170746f73436f696e08726567697374657216696e697469616c697a655f7374616b655f6f776e65721a6372656174655f776974685f7363616c696e675f666163746f7203616464136765745f64656c6567617465645f766f7465720a626f72726f775f6d757408636f6e7461696e730d72656465656d5f7368617265730672656d6f76650d64657374726f795f656d7074791d6372656174655f7369676e65725f776974685f6361706162696c697479236f70657261746f725f62656e65666963696172795f6368616e67655f656e61626c656404656d6974127368617265686f6c646572735f636f756e74127570646174655f746f74616c5f636f696e73106765745f766f74696e675f706f7765720c7061727469616c5f766f746500000000000000000000000000000000000000000000000000000000000000010308110000000000000003080a0000000000000003080300000000000000030808000000000000000308090000000000000003080c0000000000000003080d0000000000000003080f000000000000000308050000000000000003080600000000000000030812000000000000000308100000000000000003081300000000000000030802000000000000000308010000000000000003080e00000000000000030804000000000000000308070000000000000003080b00000000000000030810270000000000000308ffffffffffffffff030800ca9a3b000000000a0221206170746f735f6672616d65776f726b3a3a64656c65676174696f6e5f706f6f6c0520000000000000000000000000000000000000000000000000000000000000000003080000c16ff2862300126170746f733a3a6d657461646174615f7631c01513010000000000000014454f574e45525f4341505f4e4f545f464f554e444844656c65676174696f6e20706f6f6c206f776e6572206361706162696c69747920646f6573206e6f74206578697374206174207468652070726f7669646564206163636f756e742e020000000000000019454f574e45525f4341505f414c52454144595f4558495354532c4163636f756e7420697320616c7265616479206f776e696e6720612064656c65676174696f6e20706f6f6c2e03000000000000001f4544454c45474154494f4e5f504f4f4c5f444f45535f4e4f545f45584953543c44656c65676174696f6e20706f6f6c20646f6573206e6f74206578697374206174207468652070726f766964656420706f6f6c20616464726573732e04000000000000001a4550454e44494e475f5749544844524157414c5f4558495354534e546865726520697320612070656e64696e67207769746864726177616c20746f206265206578656375746564206265666f72652060756e6c6f636b60696e6720616e79206e6577207374616b652e05000000000000001e45494e56414c49445f434f4d4d495353494f4e5f50455243454e544147453f436f6d6d697373696f6e2070657263656e746167652068617320746f206265206265747765656e203020616e6420604d41585f46454560202d20313030252e060000000000000022454e4f545f454e4f5547485f4143544956455f5354414b455f544f5f554e4c4f434b415468657265206973206e6f7420656e6f756768206061637469766560207374616b65206f6e20746865207374616b6520706f6f6c20746f2060756e6c6f636b602e07000000000000002345534c41534845445f494e4143544956455f5354414b455f4f4e5f504153545f4f4c43d302536c617368696e672028696620696d706c656d656e746564292073686f756c64206e6f74206265206170706c69656420746f20616c72656164792060696e61637469766560207374616b652e0a204e6f74206f6e6c7920697420696e76616c69646174657320746865206163636f756e74696e67206f662070617374206f62736572766564206c6f636b7570206379636c657320284f4c43292c0a2062757420697320616c736f20756e6661697220746f2064656c656761746f72732077686f7365207374616b6520686173206265656e20696e616374697665206265666f72652076616c696461746f722073746172746564206d69736265686176696e672e0a204164646974696f6e616c6c792c2074686520696e616374697665207374616b6520646f6573206e6f7420636f756e74206f6e2074686520766f74696e6720706f776572206f662076616c696461746f722e0800000000000000214544454c454741544f525f4143544956455f42414c414e43455f544f4f5f4c4f574a44656c656761746f722773206163746976652062616c616e63652063616e6e6f74206265206c657373207468616e20604d494e5f434f494e535f4f4e5f5348415245535f504f4f4c602e09000000000000002b4544454c454741544f525f50454e44494e475f494e4143544956455f42414c414e43455f544f4f5f4c4f575444656c656761746f7227732070656e64696e675f696e6163746976652062616c616e63652063616e6e6f74206265206c657373207468616e20604d494e5f434f494e535f4f4e5f5348415245535f504f4f4c602e0a000000000000001a4544454c45474154494f4e5f504f4f4c535f44495341424c45442d4372656174696e672064656c65676174696f6e20706f6f6c73206973206e6f7420656e61626c6564207965742e0b00000000000000144557495448445241575f5a45524f5f5354414b452643616e6e6f74207265717565737420746f207769746864726177207a65726f207374616b652e0c000000000000001445444550524543415445445f46554e4354494f4e1746756e6374696f6e20697320646570726563617465642e0d00000000000000124544495341424c45445f46554e4354494f4e305468652066756e6374696f6e2069732064697361626c6564206f72206861736e2774206265656e20656e61626c65642e0e0000000000000026455041525449414c5f474f5645524e414e43455f564f54494e475f4e4f545f454e41424c4544465061727469616c20676f7665726e616e636520766f74696e67206861736e2774206265656e20656e61626c6564206f6e20746869732064656c65676174696f6e20706f6f6c2e0f000000000000001c45494e53554646494349454e545f50524f504f5345525f5354414b453e54686520766f74657220646f6573206e6f7420686176652073756666696369656e74207374616b6520746f2063726561746520612070726f706f73616c2e100000000000000010454e4f5f564f54494e475f504f5745523a54686520766f74657220646f6573206e6f74206861766520616e7920766f74696e6720706f776572206f6e20746869732070726f706f73616c2e11000000000000002b45414c52454144595f564f5445445f4245464f52455f454e41424c455f5041525449414c5f564f54494e4773546865207374616b6520706f6f6c2068617320616c726561647920766f746564206f6e207468652070726f706f73616c206265666f726520656e61626c696e67207061727469616c20676f7665726e616e636520766f74696e67206f6e20746869732064656c65676174696f6e20706f6f6c2e12000000000000000d454e4f545f4f50455241544f5232546865206163636f756e74206973206e6f7420746865206f70657261746f72206f6620746865207374616b6520706f6f6c2e13000000000000002a454f50455241544f525f42454e45464943494152595f4348414e47455f4e4f545f535550504f52544544354368616e696e672062656e6566696369617269657320666f72206f70657261746f7273206973206e6f7420737570706f727465642e021444697374726962757465436f6d6d697373696f6e0104001953657442656e6566696369617279466f724f70657261746f7201040011096765745f7374616b65010100106f776e65725f6361705f657869737473010100116765745f6164645f7374616b655f666565010100156f627365727665645f6c6f636b75705f6379636c650101001664656c65676174696f6e5f706f6f6c5f657869737473010100166765745f6f776e65645f706f6f6c5f61646472657373010100166765745f70656e64696e675f7769746864726177616c0101001862656e65666963696172795f666f725f6f70657261746f72010100196765745f64656c65676174696f6e5f706f6f6c5f7374616b650101001d63616e5f77697468647261775f70656e64696e675f696e6163746976650101001e6f70657261746f725f636f6d6d697373696f6e5f70657263656e746167650101001e7368617265686f6c646572735f636f756e745f6163746976655f706f6f6c0101001f6765745f65787065637465645f7374616b655f706f6f6c5f61646472657373010100217061727469616c5f676f7665726e616e63655f766f74696e675f656e61626c65640101002463616c63756c6174655f616e645f7570646174655f64656c656761746f725f766f7465720101002b63616c63756c6174655f616e645f7570646174655f72656d61696e696e675f766f74696e675f706f7765720101002d63616c63756c6174655f616e645f7570646174655f766f7465725f746f74616c5f766f74696e675f706f77657201010000020466056705680369030102012b050202036a036b05000503020366056c056b050402046d046e046f04700305020c6d08124a080a710b1302080a0812730b130205080a74081476034c03770b15010800790b1501080b7a0b1501080d7b0b150108117c0b15010808060201660507020566057d057e057f0380010308020466057d057f0380010309020781010b160208100383010b1602030384010b160205080e85010b160205080486010b1501080f87010b1501080288010b150108030a02018901030b0203660567058a01030c02037d058b01058c01050d0203660567058d01030e02036b058e010570030f02056b056a0300058f01039001011002026b056a03110203660567059101030001040301050927390a020600000000000000002104070b0001020a0111360a010a02111a0c050a012a050c070a0011420c060b000a010a0211430a072e11310c030e030a0211440a070a060a020a05171108010a070a060c042e0b0411030a0707170a051108010b070f000b010b060b020b0512003800020100000003110a020a000a01114626040b0b000b0111470c03050f0b000b0211480c030b03020200000001080b0011170404050707021149270203000000010c0b0010010b0111460715260408050b07031149270204000000010c0b00112b0b0111460715260408050b0704114927020500000001080b00112904040507070e114a270206000000010a0a0011020b00112a04060509070f114b27020701000101010a0a00290104080b002b01100214020b000208000001092e280a0010010a0211480c060a06320000000000000000000000000000000021040d0b00013200000000000000000000000000000000020a002e11210c070a07112a04200a000b070a060a010c050c040c032e0b030b040b05113d0b000f010b010b02114c010b06020900000109303d0a002e112b0a0211480c060a06320000000000000000000000000000000021040e0b00013200000000000000000000000000000000020a002e11210c080a08112a04210a000b080a060a010c050c040c032e0b030b040b05113e0a00112c0a010b02114c010a000a0111190a001003140c070b000f040b010a073801140b07210438053b0710114b270b06020a000000230a0a000b010b0211390c030b000b032e1110020b010002050901090a0011060a002b050b002a090b01110c020c00000001070b000b010b02113a100514020d01000301050934180a0011060a000a02114e06000000000000000021040a060000000000000000020a000a01110e0c040b002b090c030b040b030b010b02112317020e01000301050935140a0011060a0011360a002b050c040b002a090c020a040b020b0111390c030b040b032e1110020f00000036590a001121114f0c090c080c060c030a060a0010061426040e05130b00010711114b270a060a00100614240c070b030b08160c030a0704250b060a00100614170c090a00100111500c040a030a042404370a030b04170a00100714071311250c0105390600000000000000000c010b010c040a00112b11500c050a090a0524044d0a090b05170b00100714071311250c0205510b00010600000000000000000c020b020c050b070b030b090b040b05021000000037120a0010010a0110081411510c020b00112b0b0110091411510c030b020b031602110100000e0f0a001152071021040b11530b001154260c01050d090c010b01021200000037150a000a000a010a02110111510c030b000b0111460c040a040b031707152304130b040c020b020213000000371c0a000a000a020a03110111510c050b010a0211460c040a040b0516071523041707150b0417060100000000000000160c030b000b020b0311120214010403010509392d0a0111060a0111360b0011420c0a0a012b050c070a012a090c060b070b060a0a110a1155260415051807071149270a012b0511310c080e080a010b020b030b040b0511560c090a012a090f0a0b090b0a0b01120238020215000000110a403b00000000000000000c010d01071638030d010b0038030b0102160104030105093d490a0111060a0111360b0011420c050a012b050c040a012a090c070a040a070a05113a0c060a06100b140c0a0a0a0a0222043d0a020b060f0b150a040a05111c0c030a040a070b0a11390c090a09100c140a03170b090f0c150b040a070a0211390c080a08100c140b03160b080f0c1505410b06010b04010b070f0d0b010b050b0212033804021701000001030b002905021801040301050921261158040305060706114b2711590409050c0706114b270a0011020a0011360b002b0511310c010e010e011142115a0e0138053806380738080e0138090e01380a0e01380b12092d09021900000109451e0a000a010c022e0b02112d0c0404120e04100e140a001003100e14230c030514090c030b03041b0b000b0107141141051d0b0001021a0100010546350a00115d0431115e0c020e02115f0c070c060a0706000000000000000024042c0a0011020b002b050c050b0607130b0510071417180c060b070713180c070b01350a0635180b06350b0735161a340c03052e0600000000000000000c030b030c0405330600000000000000000c040b04021b01000001050a0011020b00114f021c00000001050b0010010b011147021d00000001050b00112b0b011147021e01000011070b0111150c020e000b021160021f0100010601070a0011050b002b06100f140220010001054a420a0011020b002b050c0a0a0a110f0c06010c09010c080a0a0a01112d0c0b2004190b0a01090600000000000000000c050c04053f0a0a10100a0b380c0c070e0b100e140b0a1003100e1423042e080b070b0111460c030c02053b0a070b070b0111470b090b061711620c090b080b090c030c020b020b030c050c040b040b05022100000001040b00101111630222010002010550600a0011020a002b050c0c0a0c110f0c060c05010c040c090a0c100111640c0d0a0c10010a0111470c070a00114f010c0a01010b0a06000000000000000021042c0b0d0a0c100107171147170c0d0a01071721042c32000000000000000000000000000000000c070b0c10010b070b040a05170b0d11650c040a000a0111200c0e043f0b0e0600000000000000000c030c0205430600000000000000000b0e0c030c020b020b030c0b0c080b010b001166110721045c0b040b05160c040b0904580b080b06160c08055c0b0b0b06160c0b0b040b080b0b022300000052130b0010120c070b010b0212100c060b070c050b060c040600000000000000000c030b050b040e03380d140224010403010509545f1168040305080b00010701114b270a0011420c050a05112920041005150b0001070d1169270a01071325041a051f0b000107081149270b0211150c070a000b07116a0c090c080e08380e0e0811420c060e080600000000000000000a050b05116c380f0c040d0406000000000000000011270718116e38100e080718116e06000000000000000011270b0438110b090600000000000000000b010e0838120e0838130e0838140e0838150e08381612052d050b000a0612062d061158045811590c03055a090c030b03045e0b0611180225010000010a0b0011370b011137180b0211371a3402260100010501080a0011020b002b051003100e14022700000001030b00120a02280100010501070a0011020b002b05100714022901000001030b002906022a0100000e0d0a00290904090a0011700b00210c01050b090c010b01022b00000001070a0010100b00100314380c022c0000001b090a001003140c010b000f100b013817022d0000001f180a0010040a013818040e080b0010040b013819140c030c0205150b00010906000000000000000011270c030c020b020b03022e010403010509603c0a020600000000000000002104070b0001020a0111360a012a050c070b0011420c050a072e112b0a0710010a050b0211130c020a071003140c060a070a050b020b0611300c020a072e11310c030e030a0211730a070a050a021108010a070a050c042e0b0411030b070f130b010b050b02120b381a022f0000010961270a0010010a010b0211010c070a07320000000000000000000000000000000021040e0b0001060000000000000000020a002e11210c060a06112a04210a000b060a070a010c050c040c032e0b030b040b05113b0b000f010b010b07117402300000010963690a0010100a03380c0a010b0211010c0d0a0d32000000000000000000000000000000002104100b0001060000000000000000020a002e11210c0b0a0b112a04210e03100e140a001003100e14210c040523090c040b0404310a000b0b0a0d0a010c070c060c052e0b050b060b07113c0a000f100a0338170c0a0a0a0a010b0d11740c0c0a0a0a010c082e0b08114732000000000000000000000000000000002104490a000f040b01381b010e03100e140a001003100e142304590b0a2e1150060000000000000000210c09055d0b0a01090c090b0904650b000f100b03381c117605670b00010b0c023100000001040b001011117702320104010109231178040305080b0001070c114b270a0011420c030a0311070c020a03290104190b00010a010a032a010f0215051d0b000a0112012d010b030b020b01120c381d0233010404010506096717115920040405090b00010705114b270b001142111f0c030a0311360b032b0511310c020e020b01115a023401040401050609670e0b001142111f0c030a0311360b032b0511310c020e020b01117a02350100010501070a0011020b002b051001117b0236010403010509686d0a0011020a002a050c080a082e110f0c030c020c070c010c050a00114f010c0601010b0606000000000000000021041c0a0807170714112f010a080f010b010a0217117c0a08112c0b070a0317117c0a080a00116611070a021108010a080a00116611070a031109010a080f140a000a0011660a020a031208381e1178044b0a000a0011660a00116611070b020b031207381f0b05046a0b00114f01010c04010b040a080f06150a081003100e14060100000000000000160a080f030f0e150a080f100b081003140718116e3810056c0b0801023700000001030b0035023801040301050927470a020600000000000000002104070b0001020a01114f0101010c050a020b0525041205170b000107091149270a0111360a012a050c070b0011420c060a0710010a072e112b0a060b0211130c020a070a060b02112f0c020a072e11310c030e030a02117d0a070a060a021109010a070a060c042e0b0411040b070f150b010b060b02120d382002390000006b3c0a00112111540c080b010f160c060a060a020c032e0b0338212004200a000a02111c0c040b000a02111d0c070b060b020a040b070b040b0812043822020b00010b060b0238230c050a051017140a0823043a0a05100c140a050f081532000000000000000000000000000000000a050f09150b080a050f17150b05023a0000006f400b00112111540c0a0b010f180c0c0a0c0a020c032e0b0338242004210b0c0c080a020c070a020c040b0a0c050b020c060b080b070b040b060b05120e3825020b0c0b0238260c0b0a0b1019140b0a2304340a0b1005140a0b100b14220c090536090c090b09043e0a0b100b140a0b0f05150b0b023b00000109703e0b012a090c060a000a060b03113a0c090a091005140c050b09100b140c080a000a060a0511390c040a041008140a02170a040f08150b050a0821042e0b00010b06010a04100c140b02170b040f0c15053d0b04010b000b060b0811390c070a07100c140b02170b070f0c15023c0000010971160b012a090c060a000a060b03110c0c050b000b060b0511390c040a041009140b02170b040f0915023d00000109703e0b012a090c060a000a060b03113a0c090a091005140c050b09100b140c080a000a060a0511390c040a041008140a02160a040f08150a080b0521042e0b00010b06010a04100c140b02160b040f0c15053d0b04010b000b060b0811390c070a07100c140b02160b070f0c15023e0000010971160b012a090c060a000a060b03110c0c050b000b060b0511390c040a041009140b02160b040f0915023f01040301050972730a0111060a0111360b0011420c130a010a130a02110d0c0e0a030a0e2404120b0e0c030a03060000000000000000240417051a070b1149270a012a090c060a060a010a020a030c150c0b0c090c070a090a0b114e0c0f0b091181010b0f170c100b070f1a0b0b06000000000000000038270c0d0b100a0d1421043a05410b0d010b060107001149270a0d140b15160b0d150a060a130a020c0c0c120f120c140b0c0c050b120b0512100c080b140b0806000000000000000038280c110a11140a03160b11150a012b0511310c0a0e0a0a010a020a030a041182010b060f1b0b130b020b010b030b04120f3829024001040301050901130a02060000000000000000240405050a0b000107121149270a0111360b012a050b0011420b0211410241000001097382010a020600000000000000002104070b0001020a002e11210c090a000a010c032e0b03112d0c0b04250e0b100e140a001003100e1423041f080c0405220a0911110c040b040c050527090c050b0520042d0b0001020e0b100e140a001003100e1421043d0a002e112b0a010b0211120c020a000a010b020a0b11300c020a002e11310c060e060c0a0a09111104690a09114f0c080101010e0b100e140a001003100e1421045f0b080a02170c080a0a0a0811730a0a0a021183010a0a0b08117d056c0a0a0a021183010b0a0a010a0211430a09114f01010c07010b070a000f06150b000f1c0b090b010b021211382a02050705000100050105030e00050505060400040109050e01040209060a0006000502050409000508050b05090903040309020e0209010904050a00", "abi": { "address": "0x1", "name": "delegation_pool", @@ -13093,6 +13120,15 @@ "params": ["&signer", "address", "u64"], "return": [] }, + { + "name": "beneficiary_for_operator", + "visibility": "public", + "is_entry": false, + "is_view": true, + "generic_type_params": [], + "params": ["address"], + "return": ["address"] + }, { "name": "calculate_and_update_delegator_voter", "visibility": "public", @@ -13282,6 +13318,15 @@ "params": ["&signer", "address", "u64"], "return": [] }, + { + "name": "set_beneficiary_for_operator", + "visibility": "public", + "is_entry": true, + "is_view": false, + "generic_type_params": [], + "params": ["&signer", "address"], + "return": [] + }, { "name": "set_delegated_voter", "visibility": "public", @@ -13371,6 +13416,18 @@ } ] }, + { + "name": "BeneficiaryForOperator", + "is_native": false, + "abilities": ["key"], + "generic_type_params": [], + "fields": [ + { + "name": "beneficiary_for_operator", + "type": "address" + } + ] + }, { "name": "CreateProposalEvent", "is_native": false, @@ -13503,6 +13560,34 @@ } ] }, + { + "name": "DistributeCommission", + "is_native": false, + "abilities": ["drop", "store"], + "generic_type_params": [], + "fields": [ + { + "name": "pool_address", + "type": "address" + }, + { + "name": "operator", + "type": "address" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "commission_active", + "type": "u64" + }, + { + "name": "commission_pending_inactive", + "type": "u64" + } + ] + }, { "name": "DistributeCommissionEvent", "is_native": false, @@ -13595,6 +13680,26 @@ } ] }, + { + "name": "SetBeneficiaryForOperator", + "is_native": false, + "abilities": ["drop", "store"], + "generic_type_params": [], + "fields": [ + { + "name": "operator", + "type": "address" + }, + { + "name": "old_beneficiary", + "type": "address" + }, + { + "name": "new_beneficiary", + "type": "address" + } + ] + }, { "name": "UnlockStakeEvent", "is_native": false, @@ -15580,7 +15685,7 @@ } }, { - "bytecode": "0xa11ceb0b060000000c01001a021a60037a98030492044205d404d40407a809ee1108961b2006b61b7f10b51cfd080ab225c6010cf826c3110dbb38200000000100020003000400050006000700080009000a000b000c000d0600000e0600000f060000100600001106000012060000130400001400000015080000160800001706000018060000190600001a0600061b04010601012106000a220c0004250401000102260800073a0400094b0702000000000b6c0b00001c000100001d020100001e030100001f03040000200506000023070800002409010000270a0b00002803010000290c0100002a050b00002b0d0e00002c030400002d0f1000002e030400002f110100003012040000311301000032030b000033030e00003403140000351501000036110100003713010000380201000039020100003b160100003c1101000a5d0b1800075e170400065f1a01010608600f0b0009611d1e0204040462202101000a63220100056404040009652514020404096625260204040367270601000c682901010001692b2c000a6a2d01000a6b0f2e00056d0404000b6e0131000b6f32330004703404010005710404000772043500097336010204040a743a2f0004752101010007763b040007773b3c0007783d04000779170400047a3e210100047b3f010100077c410100017d420b0009720143020404017e0f440106057f0404000a80014c01000a81014e01000582010404000983011d500204040a84015101000785013b04000786013d04000787015804000788015804000789015901000a8a010b0b000a8b015101001e19201c211f1e23241c251c260b27282e1f311c1e37331f381f391f1e403c1c3d373d453d463d233d473d483d493d193d401e471e46421c1e491e483d561e561e4505050708060503070b0e0108000003060c050302050501030305050a02010a0204060c05050a02030c080f081006060c050503030a0206060c05050b11010812030a020105040505070806070b0e010803010608060303030301060c01080903060c05050405070806070b0e010800070b0e01080402060c05010104060c05050304070813030503030708130503040303030301080002070b0e010900090005050b11010812050708060708090205080602070b1402090009010609000107090101081202060c03010b11010900020608100b1101081201080101060502060b1402090009010609000106090101060900010202070a09000a09000408100a020c080f02060c0a02020c080f04060c030505010810010b110108120c010815060503081005030c080f05070b14020508060708090108150106081502030301060b1101090001081303070b14020900090109000901010802020708060708090c05030b110108120303070813030305050a0503020608100301060813010a05020608130502070b110109000302050b1101090001080302070813030206050a02010b140209000901010b0e01090001080d01080501080401080b01080a040105070806070809030303050203060810040505070806070809010608100a0605050505070b0e01080a05050806070b14020508060708090209000901020608100502030504030503030b05050303070b0e01080b030305050708060708090501030507080607080901080c0f0a0503030505030303030305030303060a050306081303030407081305050305050505070806070809107374616b696e675f636f6e7472616374076163636f756e740a6170746f735f636f696e0362637304636f696e056572726f72056576656e7408706f6f6c5f753634067369676e65720a73696d706c655f6d6170057374616b650e7374616b696e675f636f6e66696706766563746f7214416464446973747269627574696f6e4576656e740d4164645374616b654576656e741a4372656174655374616b696e67436f6e74726163744576656e740f446973747269627574654576656e741652657175657374436f6d6d697373696f6e4576656e741052657365744c6f636b75704576656e740f5374616b696e67436f6e7472616374155374616b696e6747726f7570436f6e7461696e6572215374616b696e6747726f7570557064617465436f6d6d697373696f6e4576656e740553746f7265135377697463684f70657261746f724576656e7410556e6c6f636b5374616b654576656e7415557064617465436f6d6d697373696f6e4576656e7410557064617465566f7465724576656e740b4576656e7448616e646c65106164645f646973747269627574696f6e096164645f7374616b651e6173736572745f7374616b696e675f636f6e74726163745f65786973747315636f6d6d697373696f6e5f70657263656e746167651c6372656174655f7265736f757263655f6163636f756e745f73656564105369676e65724361706162696c6974790f4f776e65724361706162696c697479116372656174655f7374616b655f706f6f6c176372656174655f7374616b696e675f636f6e747261637404436f696e094170746f73436f696e226372656174655f7374616b696e675f636f6e74726163745f776974685f636f696e730a6469737472696275746513646973747269627574655f696e7465726e616c1f6765745f65787065637465645f7374616b655f706f6f6c5f61646472657373256765745f7374616b696e675f636f6e74726163745f616d6f756e74735f696e7465726e616c176c6173745f7265636f726465645f7072696e636970616c1c6e65775f7374616b696e675f636f6e7472616374735f686f6c6465721b70656e64696e675f646973747269627574696f6e5f636f756e747312726571756573745f636f6d6d697373696f6e1b726571756573745f636f6d6d697373696f6e5f696e7465726e616c0c72657365745f6c6f636b7570127374616b655f706f6f6c5f61646472657373187374616b696e675f636f6e74726163745f616d6f756e7473177374616b696e675f636f6e74726163745f6578697374730f7377697463685f6f70657261746f72247377697463685f6f70657261746f725f776974685f73616d655f636f6d6d697373696f6e0e756e6c6f636b5f726577617264730c756e6c6f636b5f7374616b65107570646174655f636f6d6d6973696f6e04506f6f6c187570646174655f646973747269627574696f6e5f706f6f6c0c7570646174655f766f746572086f70657261746f720c706f6f6c5f6164647265737306616d6f756e7405766f746572097072696e636970616c09726563697069656e7413616363756d756c617465645f7265776172647311636f6d6d697373696f6e5f616d6f756e74096f776e65725f63617011646973747269627574696f6e5f706f6f6c0a7369676e65725f6361700b64756d6d795f6669656c64187570646174655f636f6d6d697373696f6e5f6576656e7473117374616b696e675f636f6e7472616374730953696d706c654d61701e6372656174655f7374616b696e675f636f6e74726163745f6576656e7473137570646174655f766f7465725f6576656e74731372657365745f6c6f636b75705f6576656e7473106164645f7374616b655f6576656e747319726571756573745f636f6d6d697373696f6e5f6576656e747313756e6c6f636b5f7374616b655f6576656e7473167377697463685f6f70657261746f725f6576656e7473176164645f646973747269627574696f6e5f6576656e747311646973747269627574655f6576656e74730c6f6c645f6f70657261746f720c6e65775f6f70657261746f720f636f6d6d697373696f6e5f70616964067374616b6572196f6c645f636f6d6d697373696f6e5f70657263656e74616765196e65775f636f6d6d697373696f6e5f70657263656e74616765096f6c645f766f746572096e65775f766f746572096765745f7374616b65066275795f696e0a656d69745f6576656e740a616464726573735f6f660a626f72726f775f6d7574087769746864726177126164645f7374616b655f776974685f636170096e6f745f666f756e640c636f6e7461696e735f6b657906626f72726f7708746f5f627974657306617070656e64176372656174655f7265736f757263655f6163636f756e7416696e697469616c697a655f7374616b655f6f776e657211657874726163745f6f776e65725f6361700d5374616b696e67436f6e66696710696e76616c69645f617267756d656e7403676574126765745f72657175697265645f7374616b650576616c75650e616c72656164795f65786973747306637265617465036164641177697468647261775f776974685f6361700c64657374726f795f7a65726f127368617265686f6c646572735f636f756e740c7368617265686f6c64657273067368617265730d72656465656d5f7368617265730765787472616374076465706f736974127570646174655f746f74616c5f636f696e73176372656174655f7265736f757263655f61646472657373106e65775f6576656e745f68616e646c650f756e61757468656e746963617465640f756e6c6f636b5f776974685f63617018696e6372656173655f6c6f636b75705f776974685f6361700d696e76616c69645f73746174650672656d6f7665157365745f6f70657261746f725f776974685f6361700b746f74616c5f636f696e730762616c616e6365217368617265735f746f5f616d6f756e745f776974685f746f74616c5f636f696e7321616d6f756e745f746f5f7368617265735f776974685f746f74616c5f636f696e730f7472616e736665725f736861726573136765745f64656c6567617465645f766f7465721c7365745f64656c6567617465645f766f7465725f776974685f63617000000000000000000000000000000000000000000000000000000000000000010308050000000000000003080700000000000000030801000000000000000308020000000000000003080800000000000000030804000000000000000308030000000000000003080600000000000000030814000000000000000a0222216170746f735f6672616d65776f726b3a3a7374616b696e675f636f6e7472616374126170746f733a3a6d657461646174615f7631e8080801000000000000001a45494e53554646494349454e545f5354414b455f414d4f554e546053746f726520616d6f756e74206d757374206265206174206c6561737420746865206d696e207374616b6520726571756972656420666f722061207374616b6520706f6f6c20746f206a6f696e207468652076616c696461746f72207365742e02000000000000001e45494e56414c49445f434f4d4d495353494f4e5f50455243454e5441474532436f6d6d697373696f6e2070657263656e746167652068617320746f206265206265747765656e203020616e64203130302e030000000000000025454e4f5f5354414b494e475f434f4e54524143545f464f554e445f464f525f5354414b4552205374616b657220686173206e6f207374616b696e6720636f6e7472616374732e040000000000000027454e4f5f5354414b494e475f434f4e54524143545f464f554e445f464f525f4f50455241544f523a4e6f207374616b696e6720636f6e7472616374206265747765656e20746865207374616b657220616e64206f70657261746f7220666f756e642e05000000000000001d4543414e545f4d455247455f5354414b494e475f434f4e545241435453225374616b696e6720636f6e7472616374732063616e2774206265206d65726765642e060000000000000020455354414b494e475f434f4e54524143545f414c52454144595f4558495354533d546865207374616b696e6720636f6e747261637420616c72656164792065786973747320616e642063616e6e6f742062652072652d637265617465642e07000000000000002645494e53554646494349454e545f4143544956455f5354414b455f544f5f5749544844524157694e6f7420656e6f75676820616374697665207374616b6520746f2077697468647261772e20536f6d65207374616b65206d69676874207374696c6c2070656e64696e6720616e642077696c6c2062652061637469766520696e20746865206e6578742065706f63682e080000000000000017454e4f545f5354414b45525f4f525f4f50455241544f522d43616c6c6572206d7573742062652065697468657220746865207374616b6572206f72206f70657261746f722e02155374616b696e6747726f7570436f6e7461696e6572010201076d6f64756c655f215374616b696e6747726f7570557064617465436f6d6d697373696f6e4576656e740103012c3078313a3a7374616b696e675f636f6e74726163743a3a5374616b696e6747726f7570436f6e7461696e657207127374616b655f706f6f6c5f6164647265737301010015636f6d6d697373696f6e5f70657263656e74616765010100176c6173745f7265636f726465645f7072696e636970616c010100177374616b696e675f636f6e74726163745f657869737473010100187374616b696e675f636f6e74726163745f616d6f756e74730101001b70656e64696e675f646973747269627574696f6e5f636f756e74730101001f6765745f65787065637465645f7374616b655f706f6f6c5f616464726573730101000002033d053e053f030102033d053e053f030202053d0540053e0541031f030302043d053e0542053f030402043d053e05430344030502023d053e0506020641033e054508101f0346081347080f0702014801080201490b0e01080c09020a4a0b14020508064c0b0e0108024d0b0e01080d4e0b0e0108054f0b0e010801500b0e010804510b0e01080b520b0e01080a530b0e010800540b0e0108030a0203550556053e050b02043d053e053f0357030c020458053d0559035a030d02043d053e055b055c050000000017220a010f000c050a01100114111c0c070101010a050b070a000a01100214111a0b050b020a03111d010b011001140c060b040b000b060b03120038000201010401091b2a0a00111f0c050a050a0111020b052a090c070a070f030e0138010c060b000a0238020c040a0610040b0411220a061005140a02160a060f05150b061001140c030b070f060b010b030b021201380302020000010924150a0029090404050707061123270b002a090f030e010c022e0b023804041105140705112327020301000109010b0a000a0111020b002b0910030e0138051002140204000000060f0e0038060c030d030e01380638070d03070938070d030b0238070b0302050000002a170a00111f0a010b0311040c050b000b0511280c070c060e060600000000000000000b010b0211290e06112a0c040b060b070b040206010401092f0d0a000b0338020c060b000b010b020b060b040b05110701020701000109306d0a040600000000000000002604090a04066400000000000000250c06050b090c060b06040e05130b00010703112b27112c0c070e07112d010c090e0338080c0c0a0c0b0926042105260b00010702112b270a00111f0c0f0a0f29092004310a000a00110d2d090b0f2a090c110a110f030c100a100e010c082e0b08380420044005490b11010b10010b00010707112f270b000a010a020b0511050c0a0c0e0c0d0e0a0b0311220e0d111f0c0b0b100a010a0c0a0b0b0a0a04070811300b0e120638090b110f070b010b020a0b0b0c0b041202380a0b0b02080104010938120a000a0111020a002a090c030a030f030e0138010c020b000b010b020b030f081109020900000039680a021001140c0c0a0c111c0c0b010c0a010b0a0b0b160c0f0a0210040b0f11320c060e0638080c080a080600000000000000002104210b02010b03010b06380b020a020f000c090a090b080a010b02100214111a0a092e113406000000000000000024045505320a092e11350c0e0d0e2e060000000000000000420b140c0d0a090a0d0c042e0b0411360c070a090a0d0b0711370c050a0d0d060a05380c380d0a030a010a0c0b0d0b051203380e052b0b03010e0638080600000000000000002404630b000b06380d0b09060000000000000000113a05670b09010b06380b020a01000006090a000b010b0211040c030e000b03113b020b000000181c0a00100114111c010c03010b03160c040a040a00100514170c010a010b00100214180664000000000000001a0c020b040b010b02020c01000109010b0a000a0111020b002b0910030e013805100514020d0000000115380f0a0038100a0038110a0038120a0038130a0038140a0038150a0038160a0038170b0038181209020e01000109010b0a000a0111020b002b0910030e01380510001134020f010401094a390b00111f0c040a040a0121040a080c03050e0b040a02210c030b03041105140704113e270a010a0211020a012a090c060a060f030e0238010c050a0510021406000000000000000021042a0b06010b0501020b010a020a050a060f0811090b020b050a060f090b060f0a11100102100000004b2d0a012e110b0c050c040a05170a010f05150a050600000000000000002104160b01010b03010b0201060000000000000000020a000a010a000a050b0211000a050a011004113f0b011001140c060b030b000b060b040a05120438190b050211010401094d1c0b00111f0c030a030a0111020b032a090c050a050f030e0138010c040a041001140c020b04100411400b050f0b0b010b021205381a021201000109010b0a000a0111020b002b0910030e013805100114021301000109010a0a000a0111020b002b0910030e013805110b021401000109010c0a00290920040609020b002b0910030e0138040215010401094f4f0b00111f0c0a0a0a0a0111020a0a2a090c0d0a0d0f030c0c0a0c0e020c042e0b043804200415051c0b0d010b0c0107001141270a0c0e01381b0c0b010b0a0a010d0b0a0d0f0811090a010d0b0a0d0f090a0d0f0a1110010e0b10040a0211430b030d0b0f02150e0b1001140c090b0c0a020b0b38090b0d0f0c0c080b090c050b010c060b020c070b080b060b070b05120a381c02160104010952100a00111f0c040a040a0111020b040a0111030c030b000b010b020b03111502170104010953150a00111f0c030a030a0111020b030a0111130c050c02010b020b05170c040b000b010b041118021801040109545b0a020600000000000000002104070b0001020b00111f0c0b0a0b0a0111020a0b2a090c0d0a0d0f030e0138010c0c0a0b0a010a0c0a0d0f0811090a010a0c0a0d0f090a0d0f0a11100c090a0c100114111c0101010c080a080a022304310b080c020a0c1005140a02170a0c0f05150a010a0c0b0b0a020a0d0f0911000a020a0c1004113f0b0c1001140c0a0b0d0f0d0c070b0a0c030b010c040b020c050b090c060b070b040b030b050b06120b381d0219010402080955530a020600000000000000002604090a02066400000000000000250c03050b090c030b03040e05130b00010703112b270a00111f0c050a052909041a051f0b000107061123270a052a090c070a070f030e0138010c060a050a010a060a070f0811090a010a060a070f090b070f0a1110010a061002140c040a020b060f02150a0529082004470a000b00381e12082d0805490b00010a052a080f0e0b050b010b040b02120c381f021a000000575a0a002e11440a012104090b0001020a002e11350c040e040c120600000000000000000c0b0a12410b0c0c0a0b0a0c23045405190a120a0b420b140c0e0a0e0a0222044f0a000a0e0c072e0b0711360c0f0a000a0e0c082e0b0811450c0d0a000b0f0a010c0a0c092e0b090b0a11460b0d170a03180664000000000000001a0c110a000b110a010c060c052e0b050b0611470c100a000b0e0a020b1011480b0b060100000000000000160c0b05140b12010b000b01113a021b010401095a220b00111f0c050a050a0111020b052a090c070a070f030e0138010c060a061001140c040a0411490c030b0610040a02114a0b070f0f0b010b040b030b02120d382002060406010603090006020600090409010909090809050903090709060800090200", + "bytecode": "0xa11ceb0b060000000c01001e021e68038601b70304bd0444058105db0407dc09bb1308971d2006b71d890110c01ebc0a0afc28d4010cd02aca120d9a3d220000000100020003000400050006000700080009000a000b000c000d000e000f060000100600001108000012060000130600001406000015060000160600001704000018000000190800001a0800001b0600001c0600001d0600001e0600071f04010601012606000c270c00052a04010001032b0800094004000b530702000000000d740b00002000010000210201000022030100002304040000240305000025060700002808090000290a0100002c0b0400002d030100002e0c0100002f06040000300d0e00003103050000320f10000033030500003411010000351205000036130100003713010000380304000039030e00003a031400003b150100003c110100003d130100003e020100003f020100004116010000421101000c65041800096617050007671a0101060a680f04000b691d1e020404056a202101000c6b220100066c0505000b6d25140204040b6e2526020404046f270701000e702901010001712b2c000c722d01000c730f2e0006750505000d760131000d773233000578340501000679050500097a0535000b7b36010204040c7c3a2f00057d21010100097e3b0500097f3b3c000980013d05000981011705000582013e2101000283013f0101000984014101000185014204000b7a01430204040186010f4401060687010505000c88014c01000c89014e0100088a01011400068b01050500078c01500101060b8d011d520204040c8e01530100098f013b05000990013d05000991015a05000992015a05000993015b01000c94010404000c95015301002019221c231f2023261c271c28042928301f331c2037351f3a1f3b1f20403e1c3f373f453f463f233f473f483f493f193f4020472046454f461c204920483f582058204505050708080503070b100108000003060c0503020505010501030305050a02010a0204060c05050a02030c0811081206060c050503030a0206060c05050b13010814030a02040505070808070b10010804010608080303030301060c01080b03060c05050405070808070b10010800070b1001080502060c05010104060c05050304070815030503030708150503040303030301080002070b10010900090005050b130108140507080807080b0205080802070b1602090009010609000107090101081402060c03010b13010900020608120b1301081401080101060502060b1602090009010609000106090101060900010202070a09000a09000408120a020c081102060c0a02020c081104060c030505010812010b130108140c010817060503081205030c081105070b160205080807080b0108170106081702030301060b1301090001081503070b160209000901090009010108030207080807080b0c05030b130108140303070815030305050a0503020608120301060815010a05020608150502070b130109000302050b1301090001080402070815030206050a02010b160209000901010b1001090001080f01080601080501080d01080c0501010507080807080b03030305020306081204050507080807080b010608120108070109000a0605050505070b1001080c05050808070b160205080807080b0209000901020608120502030504030503030b05050303070b1001080d0303050507080807080b0501030507080807080b01080e0f0a0503030505030303030305030303060a05030608150303040708150505030505050507080807080b107374616b696e675f636f6e7472616374076163636f756e740d6170746f735f6163636f756e740a6170746f735f636f696e0362637304636f696e056572726f72056576656e7408666561747572657308706f6f6c5f753634067369676e65720a73696d706c655f6d6170057374616b650e7374616b696e675f636f6e66696706766563746f7214416464446973747269627574696f6e4576656e740d4164645374616b654576656e741642656e6566696369617279466f724f70657261746f721a4372656174655374616b696e67436f6e74726163744576656e740f446973747269627574654576656e741652657175657374436f6d6d697373696f6e4576656e741052657365744c6f636b75704576656e741953657442656e6566696369617279466f724f70657261746f720f5374616b696e67436f6e7472616374155374616b696e6747726f7570436f6e7461696e6572215374616b696e6747726f7570557064617465436f6d6d697373696f6e4576656e740553746f7265135377697463684f70657261746f724576656e7410556e6c6f636b5374616b654576656e7415557064617465436f6d6d697373696f6e4576656e7410557064617465566f7465724576656e740b4576656e7448616e646c65106164645f646973747269627574696f6e096164645f7374616b651e6173736572745f7374616b696e675f636f6e74726163745f6578697374731862656e65666963696172795f666f725f6f70657261746f7215636f6d6d697373696f6e5f70657263656e746167651c6372656174655f7265736f757263655f6163636f756e745f73656564105369676e65724361706162696c6974790f4f776e65724361706162696c697479116372656174655f7374616b655f706f6f6c176372656174655f7374616b696e675f636f6e747261637404436f696e094170746f73436f696e226372656174655f7374616b696e675f636f6e74726163745f776974685f636f696e730a6469737472696275746513646973747269627574655f696e7465726e616c1f6765745f65787065637465645f7374616b655f706f6f6c5f61646472657373256765745f7374616b696e675f636f6e74726163745f616d6f756e74735f696e7465726e616c176c6173745f7265636f726465645f7072696e636970616c1c6e65775f7374616b696e675f636f6e7472616374735f686f6c6465721b70656e64696e675f646973747269627574696f6e5f636f756e747312726571756573745f636f6d6d697373696f6e1b726571756573745f636f6d6d697373696f6e5f696e7465726e616c0c72657365745f6c6f636b75701c7365745f62656e65666963696172795f666f725f6f70657261746f72127374616b655f706f6f6c5f61646472657373187374616b696e675f636f6e74726163745f616d6f756e7473177374616b696e675f636f6e74726163745f6578697374730f7377697463685f6f70657261746f72247377697463685f6f70657261746f725f776974685f73616d655f636f6d6d697373696f6e0e756e6c6f636b5f726577617264730c756e6c6f636b5f7374616b65107570646174655f636f6d6d6973696f6e04506f6f6c187570646174655f646973747269627574696f6e5f706f6f6c0c7570646174655f766f746572086f70657261746f720c706f6f6c5f6164647265737306616d6f756e7405766f746572097072696e636970616c09726563697069656e7413616363756d756c617465645f7265776172647311636f6d6d697373696f6e5f616d6f756e740f6f6c645f62656e65666963696172790f6e65775f62656e6566696369617279096f776e65725f63617011646973747269627574696f6e5f706f6f6c0a7369676e65725f6361700b64756d6d795f6669656c64187570646174655f636f6d6d697373696f6e5f6576656e7473117374616b696e675f636f6e7472616374730953696d706c654d61701e6372656174655f7374616b696e675f636f6e74726163745f6576656e7473137570646174655f766f7465725f6576656e74731372657365745f6c6f636b75705f6576656e7473106164645f7374616b655f6576656e747319726571756573745f636f6d6d697373696f6e5f6576656e747313756e6c6f636b5f7374616b655f6576656e7473167377697463685f6f70657261746f725f6576656e7473176164645f646973747269627574696f6e5f6576656e747311646973747269627574655f6576656e74730c6f6c645f6f70657261746f720c6e65775f6f70657261746f720f636f6d6d697373696f6e5f70616964067374616b6572196f6c645f636f6d6d697373696f6e5f70657263656e74616765196e65775f636f6d6d697373696f6e5f70657263656e74616765096f6c645f766f746572096e65775f766f746572096765745f7374616b65066275795f696e0a656d69745f6576656e740a616464726573735f6f660a626f72726f775f6d7574087769746864726177126164645f7374616b655f776974685f636170096e6f745f666f756e640c636f6e7461696e735f6b657906626f72726f7708746f5f627974657306617070656e64176372656174655f7265736f757263655f6163636f756e7416696e697469616c697a655f7374616b655f6f776e657211657874726163745f6f776e65725f6361700d5374616b696e67436f6e66696710696e76616c69645f617267756d656e7403676574126765745f72657175697265645f7374616b650576616c75650e616c72656164795f65786973747306637265617465036164641177697468647261775f776974685f6361700c64657374726f795f7a65726f127368617265686f6c646572735f636f756e740c7368617265686f6c64657273067368617265730d72656465656d5f73686172657307657874726163740d6465706f7369745f636f696e73127570646174655f746f74616c5f636f696e73176372656174655f7265736f757263655f61646472657373106e65775f6576656e745f68616e646c650f756e61757468656e746963617465640f756e6c6f636b5f776974685f63617018696e6372656173655f6c6f636b75705f776974685f636170236f70657261746f725f62656e65666963696172795f6368616e67655f656e61626c65640d696e76616c69645f737461746504656d69740672656d6f7665157365745f6f70657261746f725f776974685f6361700b746f74616c5f636f696e730762616c616e6365217368617265735f746f5f616d6f756e745f776974685f746f74616c5f636f696e7321616d6f756e745f746f5f7368617265735f776974685f746f74616c5f636f696e730f7472616e736665725f736861726573136765745f64656c6567617465645f766f7465721c7365745f64656c6567617465645f766f7465725f776974685f6361700000000000000000000000000000000000000000000000000000000000000001030805000000000000000308070000000000000003080100000000000000030802000000000000000308080000000000000003080400000000000000030803000000000000000308090000000000000003080600000000000000030814000000000000000a0222216170746f735f6672616d65776f726b3a3a7374616b696e675f636f6e7472616374126170746f733a3a6d657461646174615f7631a70a0901000000000000001a45494e53554646494349454e545f5354414b455f414d4f554e546053746f726520616d6f756e74206d757374206265206174206c6561737420746865206d696e207374616b6520726571756972656420666f722061207374616b6520706f6f6c20746f206a6f696e207468652076616c696461746f72207365742e02000000000000001e45494e56414c49445f434f4d4d495353494f4e5f50455243454e5441474532436f6d6d697373696f6e2070657263656e746167652068617320746f206265206265747765656e203020616e64203130302e030000000000000025454e4f5f5354414b494e475f434f4e54524143545f464f554e445f464f525f5354414b4552205374616b657220686173206e6f207374616b696e6720636f6e7472616374732e040000000000000027454e4f5f5354414b494e475f434f4e54524143545f464f554e445f464f525f4f50455241544f523a4e6f207374616b696e6720636f6e7472616374206265747765656e20746865207374616b657220616e64206f70657261746f7220666f756e642e05000000000000001d4543414e545f4d455247455f5354414b494e475f434f4e545241435453225374616b696e6720636f6e7472616374732063616e2774206265206d65726765642e060000000000000020455354414b494e475f434f4e54524143545f414c52454144595f4558495354533d546865207374616b696e6720636f6e747261637420616c72656164792065786973747320616e642063616e6e6f742062652072652d637265617465642e07000000000000002645494e53554646494349454e545f4143544956455f5354414b455f544f5f5749544844524157694e6f7420656e6f75676820616374697665207374616b6520746f2077697468647261772e20536f6d65207374616b65206d69676874207374696c6c2070656e64696e6720616e642077696c6c2062652061637469766520696e20746865206e6578742065706f63682e080000000000000026454e4f545f5354414b45525f4f525f4f50455241544f525f4f525f42454e45464943494152593b43616c6c6572206d7573742062652065697468657220746865207374616b65722c206f70657261746f722c206f722062656e65666963696172792e09000000000000002a454f50455241544f525f42454e45464943494152595f4348414e47455f4e4f545f535550504f52544544354368616e696e672062656e6566696369617269657320666f72206f70657261746f7273206973206e6f7420737570706f727465642e03155374616b696e6747726f7570436f6e7461696e6572010201076d6f64756c655f1953657442656e6566696369617279466f724f70657261746f72010400215374616b696e6747726f7570557064617465436f6d6d697373696f6e4576656e740103012c3078313a3a7374616b696e675f636f6e74726163743a3a5374616b696e6747726f7570436f6e7461696e657208127374616b655f706f6f6c5f6164647265737301010015636f6d6d697373696f6e5f70657263656e74616765010100176c6173745f7265636f726465645f7072696e636970616c010100177374616b696e675f636f6e74726163745f6578697374730101001862656e65666963696172795f666f725f6f70657261746f72010100187374616b696e675f636f6e74726163745f616d6f756e74730101001b70656e64696e675f646973747269627574696f6e5f636f756e74730101001f6765745f65787065637465645f7374616b655f706f6f6c5f6164647265737301010000020343054405450301020343054405450302020123050302054305460544054703240304020443054405480545030502044305440549034a030602024305440507020343054b054c05080206470344054d081224034e08154f081109020150010a0201510b1001080e0b020a520b1602050808540b10010803550b1001080f560b10010806570b10010801580b10010805590b1001080d5a0b1001080c5b0b100108005c0b100108040c02035d055e0544050d02044305440545035f030e020460054305610362030f020443054405630564050000000017220a010f000c050a01100114111e0c070101010a050b070a000a01100214111c0b050b020a03111f010b011001140c060b040b000b060b031200380002010104010b1b2a0a0011210c050a050a0111020b052a0b0c070a070f030e0138010c060b000a0238020c040a0610040b0411240a061005140a02160a060f05150b061001140c030b070f060b010b030b021201380302020000010b24150a00290b0404050707061125270b002a0b0f030e010c022e0b023804041105140705112527020301000102010a0a00290204080b002b02100714020b0002040100010b010b0a000a0111020b002b0b10030e0138051002140205000000070f0e0038060c030d030e01380638070d03070a38070d030b0238070b0302060000002a170a0011210a010b0311050c050b000b05112a0c070c060e060600000000000000000b010b02112b0e06112c0c040b060b070b0402070104010b2f0d0a000b0338020c060b000b010b020b060b040b0511080102080100010b306d0a040600000000000000002604090a04066400000000000000250c06050b090c060b06040e05130b00010703112d27112e0c070e07112f010c090e0338080c0c0a0c0b0926042105260b00010702112d270a0011210c0f0a0f290b2004310a000a00110e2d0b0b0f2a0b0c110a110f030c100a100e010c082e0b08380420044005490b11010b10010b000107081131270b000a010a020b0511060c0a0c0e0c0d0e0a0b0311240e0d11210c0b0b100a010a0c0a0b0b0a0a04070911320b0e120838090b110f080b010b020a0b0b0c0b041203380a0b0b0209010402020b38120a000a0111020a002a0b0c030a030f030e0138010c020b000b010b020b030f09110a020a00000102396f0a021001140c0c0a0c111e0c0b010c0a010b0a0b0b160c0f0a0210040b0f11340c060e0638080c080a080600000000000000002104210b02010b03010b06380b020a020f000c090a090b080a010b02100214111c0a092e113606000000000000000024045c05320a092e11370c0e0d0e2e0600000000000000004204140c0d0a090a0d0c042e0b0411380c070a090a0d0b0711390c050a0d0a0121044f0a0111030c0d0a0d0d060a05380c380d0a030a010a0c0b0d0b051204380e052b0b03010e06380806000000000000000024046a0b000b06380d0b09060000000000000000113c056e0b09010b06380b020b01000007090a000b010b0211050c030e000b03113d020c000000181c0a00100114111e010c03010b03160c040a040a00100514170c010a010b00100214180664000000000000001a0c020b040b010b02020d0100010b010b0a000a0111020b002b0b10030e013805100514020e0000000115380f0a0038100a0038110a0038120a0038130a0038140a0038150a0038160a0038170b003818120b020f0100010b010b0a000a0111020b002b0b10030e013805100011360210010402020b4a430b0011210c050a050a0121040a080c03050e0a050a02210c030b030413080c0405180b050a021103210c040b04041b051e07041140270a010a0211020a012a0b0c070a070f030e0238010c060a061002140600000000000000002104340b07010b0601020b010a020a060a070f09110a0b020b060a070f0a0b070f0b11110102110000004b2d0a012e110c0c050c040a05170a010f05150a050600000000000000002104160b01010b03010b0201060000000000000000020a000a010a000a050b0211000a050a01100411410b011001140c060b030b000b060b040a05120538190b0502120104010b4d1c0b0011210c030a030a0111020b032a0b0c050a050f030e0138010c040a041001140c020b04100411420b050f0c0b010b021206381a02130104010203231143040305080b000107071144270a0011210c030a0311030c020a03290204190b00010a010a032a020f0715051d0b000a0112022d020b030b020b011207381b02140100010b010b0a000a0111020b002b0b10030e01380510011402150100010b010a0a000a0111020b002b0b10030e013805110c02160100010b010c0a00290b20040609020b002b0b10030e0138040217010402020b514f0b0011210c0a0a0a0a0111020a0a2a0b0c0d0a0d0f030c0c0a0c0e020c042e0b043804200415051c0b0d010b0c0107001144270a0c0e01381c0c0b010b0a0a010d0b0a0d0f09110a0a010d0b0a0d0f0a0a0d0f0b1111010e0b10040a0211470b030d0b0f02150e0b1001140c090b0c0a020b0b38090b0d0f0d0c080b090c050b010c060b020c070b080b060b070b05120c381d0218010402020b54100a0011210c040a040a0111020b040a0111040c030b000b010b020b0311170219010402020b55150a0011210c030a030a0111020b030a0111150c050c02010b020b05170c040b000b010b04111a021a010402020b565b0a020600000000000000002104070b0001020b0011210c0b0a0b0a0111020a0b2a0b0c0d0a0d0f030e0138010c0c0a0b0a010a0c0a0d0f09110a0a010a0c0a0d0f0a0a0d0f0b11110c090a0c100114111e0101010c080a080a022304310b080c020a0c1005140a02170a0c0f05150a010a0c0b0b0a020a0d0f0a11000a020a0c100411410b0c1001140c0a0b0d0f0e0c070b0a0c030b010c040b020c050b090c060b070b040b030b050b06120d381e021b010403020a0b57530a020600000000000000002604090a02066400000000000000250c03050b090c030b03040e05130b00010703112d270a0011210c050a05290b041a051f0b000107061125270a052a0b0c070a070f030e0138010c060a050a010a060a070f09110a0a010a060a070f0a0b070f0b1111010a061002140c040a020b060f02150a05290a2004470a000b00381f120a2d0a05490b00010a052a0a0f0f0b050b010b040b02120e3820021c000000595a0a002e11480a012104090b0001020a002e11370c040e040c120600000000000000000c0b0a1241040c0c0a0b0a0c23045405190a120a0b4204140c0e0a0e0a0222044f0a000a0e0c072e0b0711380c0f0a000a0e0c082e0b0811490c0d0a000b0f0a010c0a0c092e0b090b0a114a0b0d170a03180664000000000000001a0c110a000b110a010c060c052e0b050b06114b0c100a000b0e0a020b10114c0b0b060100000000000000160c0b05140b12010b000b01113c021d0104010b5c220b0011210c050a050a0111020b052a0b0c070a070f030e0138010c060a061001140c040a04114d0c030b0610040a02114e0b070f100b010b040b030b02120f3821020804080108030b00080208000b0402000b010b090b080b050b030b070b060a000b0200", "abi": { "address": "0x1", "name": "staking_contract", @@ -15595,6 +15700,15 @@ "params": ["&signer", "address", "u64"], "return": [] }, + { + "name": "beneficiary_for_operator", + "visibility": "public", + "is_entry": false, + "is_view": true, + "generic_type_params": [], + "params": ["address"], + "return": ["address"] + }, { "name": "commission_percentage", "visibility": "public", @@ -15683,6 +15797,15 @@ "params": ["&signer", "address"], "return": [] }, + { + "name": "set_beneficiary_for_operator", + "visibility": "public", + "is_entry": true, + "is_view": false, + "generic_type_params": [], + "params": ["&signer", "address"], + "return": [] + }, { "name": "stake_pool_address", "visibility": "public", @@ -15806,6 +15929,18 @@ } ] }, + { + "name": "BeneficiaryForOperator", + "is_native": false, + "abilities": ["key"], + "generic_type_params": [], + "fields": [ + { + "name": "beneficiary_for_operator", + "type": "address" + } + ] + }, { "name": "CreateStakingContractEvent", "is_native": false, @@ -15898,6 +16033,26 @@ } ] }, + { + "name": "SetBeneficiaryForOperator", + "is_native": false, + "abilities": ["drop", "store"], + "generic_type_params": [], + "fields": [ + { + "name": "operator", + "type": "address" + }, + { + "name": "old_beneficiary", + "type": "address" + }, + { + "name": "new_beneficiary", + "type": "address" + } + ] + }, { "name": "StakingContract", "is_native": false, diff --git a/packages/aptos/src/abis/0x4.json b/packages/aptos/src/abis/0x4.json index 58e7516f..e48ec836 100644 --- a/packages/aptos/src/abis/0x4.json +++ b/packages/aptos/src/abis/0x4.json @@ -1,6 +1,6 @@ [ { - "bytecode": "0xa11ceb0b060000000c010014021436034ab40204fe023605b403860307ba06ea0708a40e4006e40e7e10e20f94040af613390caf14850b0db41f100000010101020103010401050106010700080009000a0600000b0600000c0600000d080006100700031107010001081308000315020004160701000009170b0003270600022e04010601000e000100000f02030000120405010800140406010800180708000019070800001a070800001b090100001c0a0b00001d04010108001e04050108001f0c020000200c0d000021040501080009040e010800220f030000230f030000240f0300002504050108042f1112010004301113010003311401000432161701000333100300093401120009330103000235190301060436171b010008371c030003381d01010801391a1a00082104050108053a200100033b010800063c211a00013d1a1a00033e0c2200083f23010003400104010808412425000442261701030343201901060944280300034520080003462a080003472b01000648212c0007492e030100081d04010108034a0c1200034b0c1000044c031b0100034d0c0100034e0c040108094f040e010806500b0500025134030106131014101401161016011a181b1a1d171f1e261e281a2918132716272f2d301e1b10330133101b0135311d31361709170217361e381801060800010501080000010b05010900010804010b0501080606060c0804080408040b08010809080401080703060506080406080402060804060804010a0201060807010802010b0801080902060802080401080a01060b080109000101010609000106080a070505050b05010806080a030b0b01080101070b08010900010900010801010b0b0109000103010b0801090003060b05010806050b08010301060b050109000108060f070b0801030b050108060b0501080608040807060807050508040b08010308040c0b080108090803080401060c01060804010c02060506080402060b0501080605010b08010302060b08010900090001080902060807080910070b0801030b050108060b0501080608040807060807050508040b08010308040c0b080108090a020803080402060c0a020206050a0201060a02010202070a09000a0900060b0801080a0b0801050b080105050b0801080a0b080105010b05010803010803050b080108090804050b08010809050206080207080302070b0b010900090005746f6b656e056572726f72056576656e74066f626a656374066f7074696f6e067369676e657206737472696e6706766563746f720a636f6c6c656374696f6e07726f79616c7479074275726e5265660d4d75746174696f6e4576656e740a4d757461746f7252656605546f6b656e15616464726573735f66726f6d5f6275726e5f726566046275726e06537472696e67064f626a6563740f636f6c6c656374696f6e5f6e616d650a436f6c6c656374696f6e11636f6c6c656374696f6e5f6f626a6563740e436f6e7374727563746f72526566064f7074696f6e07526f79616c747906637265617465136372656174655f66726f6d5f6163636f756e74126372656174655f6e616d65645f746f6b656e146372656174655f746f6b656e5f61646472657373116372656174655f746f6b656e5f736565640763726561746f720b6465736372697074696f6e1167656e65726174655f6275726e5f7265661467656e65726174655f6d757461746f725f726566046e616d650f7365745f6465736372697074696f6e087365745f6e616d65077365745f7572690375726905696e6e65720944656c6574655265660473656c66126d7574617465645f6669656c645f6e616d65096f6c645f76616c7565096e65775f76616c756505696e6465780f6d75746174696f6e5f6576656e74730b4576656e7448616e646c650769735f736f6d6506626f72726f7717616464726573735f66726f6d5f64656c6574655f72656607657874726163740664656c657465096578697374735f61740e64657374726f795f68616e646c6504736f6d651064656372656d656e745f737570706c790e6f626a6563745f61646472657373096e6f745f666f756e640a616464726573735f6f660d6372656174655f6f626a656374066c656e6774680c6f75745f6f665f72616e67650f67656e65726174655f7369676e6572196372656174655f636f6c6c656374696f6e5f6164647265737311616464726573735f746f5f6f626a65637410696e6372656d656e745f737570706c79106765745f776974685f64656661756c74106e65775f6576656e745f68616e646c6504696e69741a6372656174655f6f626a6563745f66726f6d5f6163636f756e74136372656174655f6e616d65645f6f626a656374156372656174655f6f626a6563745f6164647265737305627974657306617070656e641763616e5f67656e65726174655f64656c6574655f7265661367656e65726174655f64656c6574655f726566046e6f6e651c616464726573735f66726f6d5f636f6e7374727563746f725f7265661b6f626a6563745f66726f6d5f636f6e7374727563746f725f7265660367657404757466380a656d69745f6576656e74000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010308060000000000000003080300000000000000030802000000000000000308010000000000000003080400000000000000030805000000000000000308000800000000000003088000000000000000030800020000000000000a0203023a3a0a020c0b6465736372697074696f6e0a0205046e616d650a020403757269126170746f733a3a6d657461646174615f7631ff030601000000000000001545544f4b454e5f444f45535f4e4f545f45584953541854686520746f6b656e20646f6573206e6f7420657869737402000000000000000c454e4f545f43524541544f52265468652070726f7669646564207369676e6572206973206e6f74207468652063726561746f72030000000000000012454649454c445f4e4f545f4d555441424c4526546865206669656c64206265696e67206368616e676564206973206e6f74206d757461626c6504000000000000001445544f4b454e5f4e414d455f544f4f5f4c4f4e472954686520746f6b656e206e616d65206973206f76657220746865206d6178696d756d206c656e67746805000000000000000d455552495f544f4f5f4c4f4e472254686520555249206973206f76657220746865206d6178696d756d206c656e677468060000000000000015454445534352495054494f4e5f544f4f5f4c4f4e472a546865206465736372697074696f6e206973206f76657220746865206d6178696d756d206c656e6774680105546f6b656e010301183078313a3a6f626a6563743a3a4f626a65637447726f75700703757269010100046e616d650101000763726561746f7201010007726f79616c74790101000b6465736372697074696f6e0101000f636f6c6c656374696f6e5f6e616d6501010011636f6c6c656374696f6e5f6f626a656374010100000202260b0801080a280b0801050102032908042a08042b08040202012805030206080b050108062c031e08042108042508042d0b0b0108010001000001110a0010003800040a0b001000380111150c01050f0b0010013802140c010b01020101000103152c0e001000380004100d000f0038030c050e0511150c020b0511170b020c0105140d000f0138040c010b010c030a031118041b0a0311190a032c0313030c070101010c060c040b0738050e040b030b063806111c02020100010301100e0038070c010a0129030407050a0703111e270b012b031002143808020301000103010f0e0038070c010a0129030407050a0703111e270b012b0310021402040100001f610b0011200c0c0a0c11210c0a0e0a0b0c0b010b020b030b040b050c140c120c100c0e0c090c0d0c0b0e101122070725041a051f0b0b0107041123270e0e11220706250425052a0b0b0107001123270e141122070825043005350b0b0107051123270a0b11240c110e0d0e09112538090c080e080e11112011270c0f0b080c070d0f0c060b070b062e060000000000000000380a0b0e0b100b140e11380b12030c130e110b132d030e12380c045d0b0b0d12380d112a055f0b0b010b0a02050100001f610a0011200c0c0b00112b0c0a0e0a0b0c0b010b020b030b040b050c140c120c100c0e0c090c0d0c0b0e101122070725041a051f0b0b0107041123270e0e11220706250425052a0b0b0107001123270e141122070825043005350b0b0107051123270a0b11240c110e0d0e09112538090c080e080e11112011270c0f0b080c070d0f0c060b070b062e060000000000000000380a0b0e0b100b140e11380b12030c130e110b132d030e12380c045d0b0b0d12380d112a055f0b0b010b0a020601000029660a0011200c0c0e010e0311080c130b000b13112c0c0a0e0a0b0c0b010b020b030b040b050c150c120c100c0e0c090c0d0c0b0e101122070725041f05240b0b0107041123270e0e1122070625042a052f0b0b0107001123270e1511220708250435053a0b0b0107051123270a0b11240c110e0d0e09112538090c080e080e11112011270c0f0b080c070d0f0c060b070b062e060000000000000000380a0b0e0b100b150e11380b12030c140e110b142d030e12380c04620b0b0d12380d112a05640b0b010b0a020701000003060b000b010b021108112d02080100000b1b0a0111220707250406050d0b01010b000107041123270b00112e140c020d020709380e0d020b01112e14380e0b0202090100010301100e0038070c010a0129030407050a0703111e270b012b03100214380f020a01000103010f0e0038070c010a0129030407050a0703111e270b012b03100314020b0100002f1c0a001131040a0b001132381038110c020c0105120b0011340c0438120b0438130c020c010b010b020c060c050b060c030b050b031200020c01000030070b0038140c010e0138151202020d01000103010f0e0038070c010a0129030407050a0703111e270b012b03100414020e0100010332240e0038070c050a0529030407050a0703111e270b052b03010a0038160c040e04380c04160b040c0105220a0038170c030b0038180c020e030e021125380938190c010b01020f01000103332c0e0111220706250406050b0b000107001123270b000c020a021005142903041305180b02010703111e270b021005142a030c030a030f06070a11370a031003140a011201381a0b010b030f0315021001000103332c0e0111220707250406050b0b000107041123270b000c020a021005142903041305180b02010703111e270b021005142a030c030a030f06070b11370a031004140a011201381a0b010b030f0415021101000103332c0e0111220708250406050b0b000107051123270b000c020a021005142903041305180b02010703111e270b021005142a030c030a030f06070c11370a031007140a011201381a0b010b030f0715021201000103010f0e0038070c010a0129030407050a0703111e270b012b03100714020000000103000302030302000305030400", + "bytecode": "0xa11ceb0b060000000c010016021636034cc4020490034205d203a20307f4069708088b0f4006cb0f7e10c91094040add14390c9615a60f0dbc24100000010101020103010401050106010701080009000a000b0600000c0600000d0600000e08000611070003120701000109140800031602000417070100000a180b0003290600023004010601000f00010000100203000013040501080015040601080019070800001a070800001b070800001c090800001d0a0100001e0b0c00001f0401010800200405010800210d020000220d0e00002304050108000a040f0108002410030000251003000026100300002704050108043112130100043212140100033315010004341718010003351103000a360113000a3501030002371a0301060438181c010009391d0300033a1e010108013b1b1b00092304050108053c210100033d010800043e031c0100063f221b0001401b1b0003410d23000942240100034301040108094425260004452718010307461405010006472803000348211a01060a492a0300034a210800034b2c0800034c2d0100064d222e00084730030100091f04010108034e0d1300034f0d110003500d010003510d0401080a52040f010806530c0500025436030106141115111501171117011b191c1b1e18201f230514051505281f2a1b2b1b17052d19142917291c05332f341f1c11230123111c0138331e3339180a180218391f3b1901060800010501080000010b05010900010804010b0501080606060c0804080408040b08010809080401080707060c08040804080408040b08010809080403060506080406080402060804060804010a0201060807010802010b0801080902060802080401080a01060b080109000101010609000106080a070505050b05010806080a030b0b01080101070b08010900010900010801010b0b0109000103010b0801090003060b05010806050b08010301060b050109000108061208040b0501080608040807060807050508040b080103030804080408040b080108040c0b080108090803080401060c01060804010c02060506080402060b0501080605010b08010302060b0801090009000207080408040108090206080708091308040b0501080608040807060807050508040b080103030804080408040b080108040c0b080108090a020803080402060c0a020206050a0201060a02010202070a09000a0900060b0801080a0b0801050b080105050b0801080a0b080105010b05010803010803050b080108090804050b08010809050206080207080302070b0b010900090005746f6b656e056572726f72056576656e74066f626a656374066f7074696f6e067369676e657206737472696e670c737472696e675f7574696c7306766563746f720a636f6c6c656374696f6e07726f79616c7479074275726e5265660d4d75746174696f6e4576656e740a4d757461746f7252656605546f6b656e15616464726573735f66726f6d5f6275726e5f726566046275726e06537472696e67064f626a6563740f636f6c6c656374696f6e5f6e616d650a436f6c6c656374696f6e11636f6c6c656374696f6e5f6f626a6563740e436f6e7374727563746f72526566064f7074696f6e07526f79616c747906637265617465136372656174655f66726f6d5f6163636f756e74126372656174655f6e616d65645f746f6b656e156372656174655f6e756d62657265645f746f6b656e146372656174655f746f6b656e5f61646472657373116372656174655f746f6b656e5f736565640763726561746f720b6465736372697074696f6e1167656e65726174655f6275726e5f7265661467656e65726174655f6d757461746f725f726566046e616d650f7365745f6465736372697074696f6e087365745f6e616d65077365745f7572690375726905696e6e65720944656c6574655265660473656c66126d7574617465645f6669656c645f6e616d65096f6c645f76616c7565096e65775f76616c756505696e6465780f6d75746174696f6e5f6576656e74730b4576656e7448616e646c650769735f736f6d6506626f72726f7717616464726573735f66726f6d5f64656c6574655f72656607657874726163740664656c657465096578697374735f61740e64657374726f795f68616e646c6504736f6d651064656372656d656e745f737570706c790e6f626a6563745f61646472657373096e6f745f666f756e640a616464726573735f6f660d6372656174655f6f626a656374046e6f6e65066c656e6774680c6f75745f6f665f72616e67650f67656e65726174655f7369676e6572196372656174655f636f6c6c656374696f6e5f6164647265737311616464726573735f746f5f6f626a65637410696e6372656d656e745f737570706c79106765745f776974685f64656661756c7409746f5f737472696e6706617070656e64106e65775f6576656e745f68616e646c6504696e69741a6372656174655f6f626a6563745f66726f6d5f6163636f756e74136372656174655f6e616d65645f6f626a656374156372656174655f6f626a6563745f616464726573730562797465731763616e5f67656e65726174655f64656c6574655f7265661367656e65726174655f64656c6574655f7265661c616464726573735f66726f6d5f636f6e7374727563746f725f7265661b6f626a6563745f66726f6d5f636f6e7374727563746f725f7265660367657404757466380a656d69745f6576656e74000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010308060000000000000003080300000000000000030802000000000000000308010000000000000003080400000000000000030805000000000000000308000800000000000003088000000000000000030800020000000000000a0203023a3a0a020c0b6465736372697074696f6e0a0205046e616d650a020403757269126170746f733a3a6d657461646174615f7631ff030601000000000000001545544f4b454e5f444f45535f4e4f545f45584953541854686520746f6b656e20646f6573206e6f7420657869737402000000000000000c454e4f545f43524541544f52265468652070726f7669646564207369676e6572206973206e6f74207468652063726561746f72030000000000000012454649454c445f4e4f545f4d555441424c4526546865206669656c64206265696e67206368616e676564206973206e6f74206d757461626c6504000000000000001445544f4b454e5f4e414d455f544f4f5f4c4f4e472954686520746f6b656e206e616d65206973206f76657220746865206d6178696d756d206c656e67746805000000000000000d455552495f544f4f5f4c4f4e472254686520555249206973206f76657220746865206d6178696d756d206c656e677468060000000000000015454445534352495054494f4e5f544f4f5f4c4f4e472a546865206465736372697074696f6e206973206f76657220746865206d6178696d756d206c656e6774680105546f6b656e010301183078313a3a6f626a6563743a3a4f626a65637447726f75700703757269010100046e616d650101000763726561746f7201010007726f79616c74790101000b6465736372697074696f6e0101000f636f6c6c656374696f6e5f6e616d6501010011636f6c6c656374696f6e5f6f626a656374010100000202280b0801080a2a0b0801050102032b08042c08042d08040202012a05030206090b050108062e032008042308042708042f0b0b0108010001000001110a0010003800040a0b001000380111160c01050f0b0010013802140c010b01020101000103162c0e001000380004100d000f0038030c050e0511160c020b0511180b020c0105140d000f0138040c010b010c030a031119041b0a03111a0a032c0313030c070101010c060c040b0738050e040b030b063806111d02020100010301100e0038070c010a0129030407050a0703111f270b012b031002143808020301000103010f0e0038070c010a0129030407050a0703111f270b012b031002140204010000208a010b0011210c0b0a0b11220c090e090b0b0b010b020b0338090b040b050c170c150c130c120c0d0c080c0c0c0a0e13380a042b0e121124061400000000000000160e13380b1124160707250425052a0b0a01070411252705360e121124070725043105360b0a0107041125270e0d1124070625043c05410b0a0107001125270e1711240708250447054c0b0a0107051125270a0a11260c140e0c0e081127380c0c070e070e14112111290c0e0d0e2e060000000000000000380d0c0f0e13380a046e0b120c100d100e0f380e112c0d100d13380f112c0b100c0605700b120c060b060c110b070b0f0b0d0b110b170e14381012030c160e140b162d030e1538110486010b0a0d153812112e0588010b0a010b090205010000208a010a0011210c0b0b00112f0c090e090b0b0b010b020b0338090b040b050c170c150c130c120c0d0c080c0c0c0a0e13380a042b0e121124061400000000000000160e13380b1124160707250425052a0b0a01070411252705360e121124070725043105360b0a0107041125270e0d1124070625043c05410b0a0107001125270e1711240708250447054c0b0a0107051125270a0a11260c140e0c0e081127380c0c070e070e14112111290c0e0d0e2e060000000000000000380d0c0f0e13380a046e0b120c100d100e0f380e112c0d100d13380f112c0b100c0605700b120c060b060c110b070b0f0b0d0b110b170e14381012030c160e140b162d030e1538110486010b0a0d153812112e0588010b0a010b0902060100002b8f010a0011210c0b0e010e0311090c160b000b1611300c090e090b0b0b010b020b0338090b040b050c180c150c130c120c0d0c080c0c0c0a0e13380a04300e121124061400000000000000160e13380b112416070725042a052f0b0a010704112527053b0e1211240707250436053b0b0a0107041125270e0d1124070625044105460b0a0107001125270e181124070825044c05510b0a0107051125270a0a11260c140e0c0e081127380c0c070e070e14112111290c0e0d0e2e060000000000000000380d0c0f0e13380a04730b120c100d100e0f380e112c0d100d13380f112c0b100c0605750b120c060b060c110b070b0f0b0d0b110b180e14381012030c170e140b172d030e153811048b010b0a0d153812112e058d010b0a010b090207010000208b010b0011210c0c0a0c11220c0a0e0a0b0c0b010b020b030b0438130b050b060c180c160c140c130c0e0c090c0d0c0b0e14380a042c0e131124061400000000000000160e14380b1124160707250426052b0b0b01070411252705370e131124070725043205370b0b0107041125270e0e1124070625043d05420b0b0107001125270e1811240708250448054d0b0b0107051125270a0b11260c150e0d0e091127380c0c080e080e15112111290c0f0d0f2e060000000000000000380d0c100e14380a046f0b130c110d110e10380e112c0d110d14380f112c0b110c0705710b130c070b070c120b080b100b0e0b120b180e15381012030c170e150b172d030e1638110487010b0b0d163812112e0589010b0b010b0a020801000003060b000b010b021109113102090100000c1b0a0111240707250406050d0b01010b000107041125270b001132140c020d02070938140d020b0111321438140b02020a0100010301100e0038070c010a0129030407050a0703111f270b012b031002143815020b01000103010f0e0038070c010a0129030407050a0703111f270b012b03100314020c010000311c0a001135040a0b001136381638170c020c0105120b0011370c0438180b0438190c020c010b010b020c060c050b060c030b050b031200020d01000032070b00381a0c010e01381b1202020e01000103010f0e0038070c010a0129030407050a0703111f270b012b03100414020f0100010334240e0038070c050a0529030407050a0703111f270b052b03010a00381c0c040e04381104160b040c0105220a00381d0c030b00381e0c020e030e021127380c381f0c010b01021001000103352c0e0111240706250406050b0b000107001125270b000c020a021005142903041305180b02010703111f270b021005142a030c030a030f06070a113a0a031003140a01120138200b010b030f0315021101000103352c0e0111240707250406050b0b000107041125270b000c020a021005142903041305180b02010703111f270b021005142a030c030a030f06070b113a0a031004140a01120138200b010b030f0415021201000103352c0e0111240708250406050b0b000107051125270b000c020a021005142903041305180b02010703111f270b021005142a030c030a030f06070c113a0a031007140a01120138200b010b030f0715021301000103010f0e0038070c010a0129030407050a0703111f270b012b03100714020000000103000302030302000305030400", "abi": { "address": "0x4", "name": "token", @@ -98,6 +98,23 @@ ], "return": ["0x1::object::ConstructorRef"] }, + { + "name": "create_numbered_token", + "visibility": "public", + "is_entry": false, + "is_view": false, + "generic_type_params": [], + "params": [ + "&signer", + "0x1::string::String", + "0x1::string::String", + "0x1::string::String", + "0x1::string::String", + "0x1::option::Option<0x4::royalty::Royalty>", + "0x1::string::String" + ], + "return": ["0x1::object::ConstructorRef"] + }, { "name": "create_token_address", "visibility": "public", diff --git a/packages/aptos/src/account-resource-client.test.ts b/packages/aptos/src/account-resource-client.test.ts index 2a4e3bef..f1c99bfb 100644 --- a/packages/aptos/src/account-resource-client.test.ts +++ b/packages/aptos/src/account-resource-client.test.ts @@ -1,13 +1,13 @@ -import { AptosClient } from 'aptos' import { expect } from 'chai' import { jest } from '@jest/globals' import { AccountResourceClient } from './account-resource-client.js' import { amm, vault } from './tests/types/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.js' import { aptos_coin } from './builtin/0x1.js' import { ANY_TYPE } from '@typemove/move' +import { Aptos, AptosConfig } from '@aptos-labs/ts-sdk' describe('account resource client', () => { - const client = new AptosClient('https://mainnet.aptoslabs.com/') + const client = new Aptos(new AptosConfig({ fullnode: 'https://mainnet.aptoslabs.com/v1' })) const accountResourceClient = new AccountResourceClient(client) const ACCOUNT_ADDRESS = '0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541' diff --git a/packages/aptos/src/account-resource-client.ts b/packages/aptos/src/account-resource-client.ts index da0b92d6..5f6d2979 100644 --- a/packages/aptos/src/account-resource-client.ts +++ b/packages/aptos/src/account-resource-client.ts @@ -1,15 +1,22 @@ -import { AptosClient, MaybeHexString } from 'aptos' +import { + AccountAddressInput, + Aptos, + MoveStructId, + LedgerVersionArg, + PaginationArgs, + MoveResource +} from '@aptos-labs/ts-sdk' import { TypeDescriptor } from '@typemove/move' import { defaultMoveCoder } from './move-coder.js' import { TypedMoveResource } from './models.js' -type ResourceQuery = { - ledgerVersion?: bigint | number -} +// type ResourceQuery = { +// ledgerVersion?: bigint | number +// } export class AccountResourceClient { - client: AptosClient - constructor(client: AptosClient) { + client: Aptos + constructor(client: Aptos) { this.client = client } @@ -18,41 +25,45 @@ export class AccountResourceClient { * @param accountAddress * @param query */ - async getAll(accountAddress: MaybeHexString, query?: ResourceQuery) { - return this.client.getAccountResources(accountAddress, query) + async getAll(accountAddress: AccountAddressInput, options?: PaginationArgs & LedgerVersionArg) { + return this.client.getAccountResources({ accountAddress, options }) } /** * Match a single resource with exact type, resource type should not contain any type * @param accountAddress * @param resourceType - * @param query + * @param options */ async matchExact( - accountAddress: MaybeHexString, + accountAddress: AccountAddressInput, resourceType: TypeDescriptor, - query?: ResourceQuery + options?: LedgerVersionArg ): Promise | undefined> { if (resourceType.existAnyType()) { throw new Error('resource type for match call should not contain any type') } - const typeStr = resourceType.getSignature() - const result = await this.client.getAccountResource(accountAddress, typeStr, query) - return defaultMoveCoder(this.client.nodeUrl).decodeResource(result) + const typeStr = resourceType.getSignature() as MoveStructId + const result = await this.client.getAccountResource({ accountAddress, resourceType: typeStr, options }) + const resource: MoveResource = { + type: typeStr, + data: result + } + return defaultMoveCoder(this.client.config.fullnode).decodeResource(resource) } /** * Match all resources with type pattern, it could be a partial type like `amm.Pool` * @param accountAddress * @param resourceType - * @param query + * @param options */ async matchAll( - accountAddress: MaybeHexString, + accountAddress: AccountAddressInput, resourceType: TypeDescriptor, - query?: ResourceQuery + options?: PaginationArgs & LedgerVersionArg ): Promise[]> { - const result = await this.client.getAccountResources(accountAddress, query) - return defaultMoveCoder(this.client.nodeUrl).filterAndDecodeResources(resourceType, result) + const result = await this.client.getAccountResources({ accountAddress, options }) + return defaultMoveCoder(this.client.config.fullnode).filterAndDecodeResources(resourceType, result) } } diff --git a/packages/aptos/src/aptos-chain-adapter.ts b/packages/aptos/src/aptos-chain-adapter.ts index 4e891958..118e55a7 100644 --- a/packages/aptos/src/aptos-chain-adapter.ts +++ b/packages/aptos/src/aptos-chain-adapter.ts @@ -6,25 +6,29 @@ import { InternalMoveModule, InternalMoveStruct } from '@typemove/move' -import { AptosClient } from 'aptos' -import { Event, MoveModuleBytecode, MoveResource } from './move-types.js' +import { Aptos, Event, MoveModuleBytecode, MoveResource } from '@aptos-labs/ts-sdk' import { toInternalModule } from './to-internal.js' export class AptosChainAdapter extends ChainAdapter { // static INSTANCE = new AptosChainAdapter() - client: AptosClient - constructor(client: AptosClient) { + client: Aptos + constructor(client: Aptos) { super() this.client = client } async fetchModules(account: string): Promise { - return await this.client.getAccountModules(account) + return await this.client.getAccountModules({ + accountAddress: account + }) } async fetchModule(account: string, module: string): Promise { - return await this.client.getAccountModule(account, module) + return await this.client.getAccountModule({ + accountAddress: account, + moduleName: module + }) } toInternalModules(modules: MoveModuleBytecode[]): InternalMoveModule[] { diff --git a/packages/aptos/src/client.test.ts b/packages/aptos/src/client.test.ts index c15943c9..fd0a80ef 100644 --- a/packages/aptos/src/client.test.ts +++ b/packages/aptos/src/client.test.ts @@ -1,30 +1,39 @@ -import { AptosClient, Types, AptosAccount } from 'aptos' import { _0x1 } from '@typemove/aptos/builtin' import { expect } from 'chai' import { jest } from '@jest/globals' +import { Account, Aptos, AptosConfig, ViewRequest } from '@aptos-labs/ts-sdk' describe('client call of entry or view', () => { - const client = new AptosClient('https://mainnet.aptoslabs.com/') + const client = new Aptos( + new AptosConfig({ + fullnode: 'https://mainnet.aptoslabs.com/v1' + }) + ) jest.setTimeout(100000) test('call balance', async () => { - const data: Types.ViewRequest = { - type_arguments: [ + const data: ViewRequest = { + typeArguments: [ '0x84d7aeef42d38a5ffc3ccef853e1b82e4958659d16a7de736a29c55fbbeb0114::staked_aptos_coin::StakedAptosCoin' ], - arguments: ['0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a'], + functionArguments: ['0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a'], function: '0x1::coin::balance' } - const res1 = await client.view(data, '193435152') + const res1 = await client.view({ + payload: data, + options: { + ledgerVersion: 193435152n + } + }) expect(res1).eql(['99680593']) const res2 = await _0x1.coin.view.balance( client, { - type_arguments: [ + typeArguments: [ '0x84d7aeef42d38a5ffc3ccef853e1b82e4958659d16a7de736a29c55fbbeb0114::staked_aptos_coin::StakedAptosCoin' ], - arguments: ['0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a'] + functionArguments: ['0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a'] }, 193435152n ) @@ -33,16 +42,16 @@ describe('client call of entry or view', () => { test('call get_validator_config', async () => { const res = await _0x1.stake.view.getValidatorConfig(client, { - arguments: ['0xee49776eff9fd395eb90d601449542080645e63704f518b31c6f72b6a95d7868'] + functionArguments: ['0xee49776eff9fd395eb90d601449542080645e63704f518b31c6f72b6a95d7868'] }) expect(res.length).eql(3) }) test.skip('build transaction', async () => { - const account = new AptosAccount(undefined, '0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a') + const account = Account.generate() const res = await _0x1.coin.entry.transfer(client, account, { - type_arguments: ['0x1::aptos_coin::AptosCoin'], - arguments: ['0x1', 1n] + typeArguments: ['0x1::aptos_coin::AptosCoin'], + functionArguments: ['0x1', 1n] }) }) }) diff --git a/packages/aptos/src/codegen/codegen.ts b/packages/aptos/src/codegen/codegen.ts index 49e3e795..3997cd40 100644 --- a/packages/aptos/src/codegen/codegen.ts +++ b/packages/aptos/src/codegen/codegen.ts @@ -1,10 +1,9 @@ import * as fs from 'fs' -import { Event, MoveModuleBytecode, MoveResource } from '../move-types.js' import chalk from 'chalk' import { join } from 'path' import { AptosChainAdapter } from '../aptos-chain-adapter.js' import { AbstractCodegen, camel, InternalMoveFunction, InternalMoveModule, normalizeToJSName } from '@typemove/move' -import { AptosClient } from 'aptos' +import { Aptos, AptosConfig, Event, MoveModuleBytecode, MoveResource } from '@aptos-labs/ts-sdk' export async function codegen( abisDir: string, @@ -34,18 +33,18 @@ export async function codegen( } export class AptosCodegen extends AbstractCodegen { - ADDRESS_TYPE = 'Address' + ADDRESS_TYPE = 'MoveAddressType' PREFIX = 'Aptos' SYSTEM_PACKAGE = '@typemove/aptos' constructor(endpoint: string) { - super(new AptosChainAdapter(new AptosClient(endpoint))) + super(new AptosChainAdapter(new Aptos(new AptosConfig({ fullnode: endpoint })))) } generateImports(): string { return ` ${super.generateImports()} - import { AptosClient, AptosAccount, TransactionBuilderRemoteABI, Types, TxnBuilderTypes, OptionalTransactionArgs } from 'aptos' + import { Aptos, Account as AptosAccount, MoveAddressType, PendingTransactionResponse, InputGenerateTransactionOptions, MoveStructId, InputViewRequestData } from '@aptos-labs/ts-sdk' ` } protected generateExtra(module: InternalMoveModule) { @@ -87,20 +86,20 @@ export class AptosCodegen extends AbstractCodegen 0 ? `type_arguments: [${func.typeParams.map((_) => 'string').join(', ')}],` : ''} - ${func.params.length > 0 ? `arguments: [${fields.join(',')}]` : ''}},` + ${func.typeParams.length > 0 ? `typeArguments: [${func.typeParams.map((_) => 'MoveStructId').join(', ')}],` : ''} + ${func.params.length > 0 ? `functionArguments: [${fields.join(',')}]` : ''}},` return `export async function ${camel(normalizeToJSName(func.name))}${genericString}( - client: AptosClient, + client: Aptos, ${requestArg} version?: bigint): Promise<[${returns.join(',')}]> { - const coder = defaultMoveCoder(client.nodeUrl) - const data = { - type_arguments: ${func.typeParams.length > 0 ? 'request.type_arguments' : '[]'}, - arguments: ${func.params.length > 0 ? 'coder.encodeArray(request.arguments)' : '[]'}, - function: "${module.address}::${module.name}::${func.name}" + const coder = defaultMoveCoder(client.config.fullnode) + const data: InputViewRequestData = { + function: "${module.address}::${module.name}::${func.name}", + functionArguments: ${func.params.length > 0 ? 'coder.encodeArray(request.functionArguments)' : '[]'}, + typeArguments: ${func.typeParams.length > 0 ? 'request.typeArguments' : '[]'}, } - const res = await client.view(data, version?.toString()) + const res = await client.view({payload: data, options: { ledgerVersion: version } }); const type = await coder.getMoveFunction("${module.address}::${module.name}::${func.name}") return await coder.decodeArray(res, type.return) as any }` @@ -124,21 +123,25 @@ export class AptosCodegen extends AbstractCodegen 'string').join(', ')}], - arguments: [${fields.join(',')}] + typeArguments: [${func.typeParams.map((_) => 'MoveStructId').join(', ')}], + functionArguments: [${fields.join(',')}] }, - extraArgs?: OptionalTransactionArgs - ): Promise { - const coder = defaultMoveCoder(client.nodeUrl) - const builder = new TransactionBuilderRemoteABI(client, { sender: account.address(), ...extraArgs }); - const txn = await builder.build("${module.address}::${module.name}::${ - func.name - }", request.type_arguments, coder.encodeArray(request.arguments)) - const bcsTxn = AptosClient.generateBCSTransaction(account, txn) - return await client.submitSignedBCSTransaction(bcsTxn) + options?: InputGenerateTransactionOptions + ): Promise { + const coder = defaultMoveCoder(client.config.fullnode) + const transaction = await client.build.simple({ + sender: account.accountAddress, + data: { + function: "${module.address}::${module.name}::${func.name}", + functionArguments: ${func.params.length > 0 ? 'coder.encodeArray(request.functionArguments)' : '[]'}, + typeArguments: ${func.typeParams.length > 0 ? 'request.typeArguments' : '[]'}, + }, + options + }) + return await client.signAndSubmitTransaction({ signer: account, transaction }); }` } } diff --git a/packages/aptos/src/codegen/run.ts b/packages/aptos/src/codegen/run.ts index e2b51a38..0cb1df25 100644 --- a/packages/aptos/src/codegen/run.ts +++ b/packages/aptos/src/codegen/run.ts @@ -1,7 +1,7 @@ #!/usr/bin/env node import { codegen } from './codegen.js' -import { AptosClient } from 'aptos' +import { Aptos, AptosConfig } from '@aptos-labs/ts-sdk' import * as path from 'path' import * as fs from 'fs' import { Command } from 'commander' @@ -32,17 +32,17 @@ program .action(async (location, options) => { let endpoint = options.network if (endpoint == 'mainnet') { - endpoint = 'https://mainnet.aptoslabs.com/' + endpoint = 'https://mainnet.aptoslabs.com/v1' } if (endpoint == 'testnet') { - endpoint = 'https://testnet.aptoslabs.com/' + endpoint = 'https://testnet.aptoslabs.com/v1' } - const aptosClient = new AptosClient(endpoint) + const aptosClient = new Aptos(new AptosConfig({ fullnode: endpoint })) let abisDir = location if (location.startsWith('0x')) { const abiAddress = abisDir - const abi = await aptosClient.getAccountModules(abiAddress) + const abi = await aptosClient.getAccountModules({ accountAddress: abiAddress }) abisDir = options.abiDir if (!fs.existsSync(abisDir)) { fs.mkdirSync(abisDir, { recursive: true }) diff --git a/packages/aptos/src/codegen/types.test.ts b/packages/aptos/src/codegen/types.test.ts index 366e787e..7f1b8d99 100644 --- a/packages/aptos/src/codegen/types.test.ts +++ b/packages/aptos/src/codegen/types.test.ts @@ -1,5 +1,6 @@ import { defaultMoveCoder } from '../index.js' import { loadAllTypes } from '../builtin/0x1.js' +import { EntryFunctionPayloadResponse } from '@aptos-labs/ts-sdk' describe('type decode', () => { loadAllTypes(defaultMoveCoder()) @@ -9,12 +10,10 @@ describe('type decode', () => { }) }) -const data = { +const data: EntryFunctionPayloadResponse = { type: 'entry_function_payload', type_arguments: [], - arguments: [ - '0xaaaf981fec16d967eb79bb51b4c6d39e75acb3482c6dabddb19ca9adbfceee80', - ], - code: { bytecode: '' }, - function: '0x1::aptos_account::create_account', + arguments: ['0xaaaf981fec16d967eb79bb51b4c6d39e75acb3482c6dabddb19ca9adbfceee80'], + // code: { bytecode: '' }, + function: '0x1::aptos_account::create_account' } diff --git a/packages/aptos/src/models.ts b/packages/aptos/src/models.ts index 9c6fb8be..13f4a3a8 100644 --- a/packages/aptos/src/models.ts +++ b/packages/aptos/src/models.ts @@ -1,18 +1,13 @@ -import { - Event, - MoveResource, - TransactionPayload_EntryFunctionPayload, -} from './move-types.js' import { DecodedStruct } from '@typemove/move' +import { EntryFunctionPayloadResponse, MoveResource, Event } from '@aptos-labs/ts-sdk' export type TypedEventInstance = DecodedStruct export type TypedMoveResource = DecodedStruct // Don't use intermediate type to make IDE happier -export type TypedFunctionPayload> = - TransactionPayload_EntryFunctionPayload & { - /** - * decoded argument data using ABI, undefined if there is decoding error, usually because the ABI/data mismatch - */ - arguments_decoded: T - } +export type TypedFunctionPayload> = EntryFunctionPayloadResponse & { + /** + * decoded argument data using ABI, undefined if there is decoding error, usually because the ABI/data mismatch + */ + arguments_decoded: T +} diff --git a/packages/aptos/src/move-coder.ts b/packages/aptos/src/move-coder.ts index f056af67..1d0d87a8 100644 --- a/packages/aptos/src/move-coder.ts +++ b/packages/aptos/src/move-coder.ts @@ -1,12 +1,18 @@ import { AbstractMoveCoder, InternalMoveModule, parseMoveType, TypeDescriptor } from '@typemove/move' -import { Event, MoveModuleBytecode, MoveResource, TransactionPayload_EntryFunctionPayload } from './move-types.js' import { TypedEventInstance, TypedFunctionPayload, TypedMoveResource } from './models.js' import { AptosChainAdapter } from './aptos-chain-adapter.js' import { toInternalModule } from './to-internal.js' -import { AptosClient } from 'aptos' +import { + Aptos, + AptosConfig, + EntryFunctionPayloadResponse, + Event, + MoveModuleBytecode, + MoveResource +} from '@aptos-labs/ts-sdk' export class MoveCoder extends AbstractMoveCoder { - constructor(client: AptosClient) { + constructor(client: Aptos) { super(new AptosChainAdapter(client)) } @@ -27,12 +33,14 @@ export class MoveCoder extends AbstractMoveCoder(event: Event): Promise | undefined> { + // TODO fix type return this.decodedStruct(event) } filterAndDecodeEvents(type: string | TypeDescriptor, resources: Event[]): Promise[]> { if (typeof type === 'string') { type = parseMoveType(type) } + // TODO fix type return this.filterAndDecodeStruct(type, resources) } decodeResource(res: MoveResource): Promise | undefined> { @@ -48,9 +56,9 @@ export class MoveCoder extends AbstractMoveCoder { + async decodeFunctionPayload>( + payload: EntryFunctionPayloadResponse + ): Promise> { const func = await this.getMoveFunction(payload.function) const params = this.adapter.getMeaningfulFunctionParams(func.params) const argumentsDecoded = await this.decodeArray(payload.arguments, params) @@ -58,7 +66,7 @@ export class MoveCoder extends AbstractMoveCoder + } as TypedFunctionPayload } } @@ -72,13 +80,14 @@ export class MoveCoder extends AbstractMoveCoder() export function defaultMoveCoder(endpoint: string = DEFAULT_ENDPOINT): MoveCoder { let coder = CODER_MAP.get(endpoint) if (!coder) { - coder = new MoveCoder(new AptosClient(endpoint)) + const config = new AptosConfig({ fullnode: endpoint }) + coder = new MoveCoder(new Aptos(config)) CODER_MAP.set(endpoint, coder) } return coder diff --git a/packages/aptos/src/move-types.ts b/packages/aptos/src/move-types.ts index 0b94b563..99bab63a 100644 --- a/packages/aptos/src/move-types.ts +++ b/packages/aptos/src/move-types.ts @@ -1,13 +1,14 @@ -import { Types } from 'aptos' +// import { MoveModule } from '@aptos-labs/ts-sdk' -export type Address = Types.Address -export type Event = Types.Event -export type MoveFunction = Types.MoveFunction -export type MoveModule = Types.MoveModule -export type MoveResource = Types.MoveResource -export type MoveStruct = Types.MoveStruct -export type MoveStructField = Types.MoveStructField -export type MoveModuleBytecode = Types.MoveModuleBytecode -export type TransactionPayload_EntryFunctionPayload = - Types.TransactionPayload_EntryFunctionPayload -export type Transaction_UserTransaction = Types.Transaction_UserTransaction +export type Address = string + +// export type { +// MoveAddressType, +// Event, +// MoveFunction, +// MoveModule, +// MoveResource, +// MoveStruct, +// MoveStructField, +// MoveModuleBytecode +// } from '@aptos-labs/ts-sdk' diff --git a/packages/aptos/src/tests/move-call.test.ts b/packages/aptos/src/tests/move-call.test.ts index 1be5bb65..7c686e87 100644 --- a/packages/aptos/src/tests/move-call.test.ts +++ b/packages/aptos/src/tests/move-call.test.ts @@ -1,18 +1,18 @@ import { base_pool, fees, - stable_pool, + stable_pool } from './types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af' -import { AptosClient } from 'aptos' +import { Aptos, AptosConfig } from '@aptos-labs/ts-sdk' import { _0x1 } from '@typemove/aptos/builtin' import { expect } from 'chai' describe('move-call', () => { - const client = new AptosClient('https://fullnode.mainnet.aptoslabs.com') + const client = new Aptos(new AptosConfig({ fullnode: 'https://fullnode.mainnet.aptoslabs.com/v1' })) test('system-call', async () => { const [res] = await _0x1.account.view.existsAt(client, { - arguments: ['0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a'], + functionArguments: ['0x5967ebb35647e8a664ea8d2d96276f28cc88e7bfeff46e625c8900d8b541506a'] }) expect(res).to.equal(true) @@ -20,7 +20,7 @@ describe('move-call', () => { expect(chainId).to.equal(1) const [decimal] = await _0x1.coin.view.decimals(client, { - type_arguments: ['0x5e156f1207d0ebfa19a9eeff00d62a282278fb8719f4fab3a586a0a2c0fffbea::coin::T'], + typeArguments: ['0x5e156f1207d0ebfa19a9eeff00d62a282278fb8719f4fab3a586a0a2c0fffbea::coin::T'] }) expect(decimal).to.equal(6) }) @@ -30,16 +30,16 @@ describe('move-call', () => { console.log(poolId) const [balance] = await fees.view.balance(client, { - type_arguments: ['0x5e156f1207d0ebfa19a9eeff00d62a282278fb8719f4fab3a586a0a2c0fffbea::coin::T'], + typeArguments: ['0x5e156f1207d0ebfa19a9eeff00d62a282278fb8719f4fab3a586a0a2c0fffbea::coin::T'] }) console.log(balance) const [decimal] = await base_pool.view.maxSupportedDecimals(client) expect(decimal).to.equal(8) - const [lpName] = await stable_pool.view.lpNameById(client, { arguments: [3n] }) + const [lpName] = await stable_pool.view.lpNameById(client, { functionArguments: [3n] }) const [poolBalances, weights, supply] = await stable_pool.view.poolInfo(client, { - arguments: [lpName], + functionArguments: [lpName] }) expect(poolBalances.length > 0).equal(true) expect(weights > 0n).equal(true) diff --git a/packages/aptos/src/tests/move-coder.test.ts b/packages/aptos/src/tests/move-coder.test.ts index 92c16eea..71a8fa4f 100644 --- a/packages/aptos/src/tests/move-coder.test.ts +++ b/packages/aptos/src/tests/move-coder.test.ts @@ -1,5 +1,6 @@ import { stable_pool } from './types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af' import { defaultMoveCoder } from '@typemove/aptos' +import { MoveStructId } from '@aptos-labs/ts-sdk' describe('move-coder', () => { // const aptosClient = new AptosClient("https://fullnode.mainnet.aptoslabs.com") @@ -18,20 +19,20 @@ describe('move-coder', () => { }) const resource = { - type: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePool<0x159df6b7689437016108a019fd5bef736bac692b6d4a1f10c941f6fbb9a74ca6::oft::CakeOFT, 0x1::aptos_coin::AptosCoin, 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::Null, 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::Null>', + type: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePool<0x159df6b7689437016108a019fd5bef736bac692b6d4a1f10c941f6fbb9a74ca6::oft::CakeOFT, 0x1::aptos_coin::AptosCoin, 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::Null, 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::Null>' as MoveStructId, data: { amp_factor: '10', asset_0: { - value: '64917048', + value: '64917048' }, asset_1: { - value: '2828506', + value: '2828506' }, asset_2: { - value: '0', + value: '0' }, asset_3: { - value: '0', + value: '0' }, events: { add_liquidity_events: { @@ -39,62 +40,62 @@ const resource = { guid: { id: { addr: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af', - creation_num: '370', - }, - }, + creation_num: '370' + } + } }, param_change_events: { counter: '0', guid: { id: { addr: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af', - creation_num: '373', - }, - }, + creation_num: '373' + } + } }, pool_creation_events: { counter: '1', guid: { id: { addr: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af', - creation_num: '369', - }, - }, + creation_num: '369' + } + } }, remove_liquidity_events: { counter: '0', guid: { id: { addr: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af', - creation_num: '371', - }, - }, + creation_num: '371' + } + } }, swap_events: { counter: '4', guid: { id: { addr: '0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af', - creation_num: '372', - }, - }, - }, + creation_num: '372' + } + } + } }, inverse_negated_swap_fee_ratio: { - v: '18465209284871323648', + v: '18465209284871323648' }, pool_token_burn_cap: { - dummy_field: false, + dummy_field: false }, pool_token_mint_cap: { - dummy_field: false, + dummy_field: false }, precision_multipliers: ['1', '1'], reserved_lp_coin: { - value: '100', + value: '100' }, swap_fee_ratio: { - v: '18446744073709551', - }, - }, + v: '18446744073709551' + } + } } diff --git a/packages/aptos/src/to-internal.ts b/packages/aptos/src/to-internal.ts index 58b30807..c8b9a6f8 100644 --- a/packages/aptos/src/to-internal.ts +++ b/packages/aptos/src/to-internal.ts @@ -4,10 +4,15 @@ import { InternalMoveModule, InternalMoveStruct, InternalMoveStructField, - parseMoveType, + parseMoveType } from '@typemove/move' -import { Types } from 'aptos' -import { MoveFunction, MoveModuleBytecode, MoveStruct, MoveStructField } from './move-types.js' +import { + MoveFunctionVisibility, + MoveFunction, + MoveModuleBytecode, + MoveStruct, + MoveStructField +} from '@aptos-labs/ts-sdk' export function toInternalModule(module: MoveModuleBytecode): InternalMoveModule { if (!module.abi) { @@ -18,20 +23,20 @@ export function toInternalModule(module: MoveModuleBytecode): InternalMoveModule address: abi.address, exposedFunctions: abi.exposed_functions.map(toInternalFunction), name: abi.name, - structs: abi.structs.map(toInternalStruct), + structs: abi.structs.map(toInternalStruct) } } export function toInternalFunction(func: MoveFunction): InternalMoveFunction { let visibility switch (func.visibility) { - case Types.MoveFunctionVisibility.PRIVATE: + case MoveFunctionVisibility.PRIVATE: visibility = InternalMoveFunctionVisibility.PRIVATE break - case Types.MoveFunctionVisibility.PUBLIC: + case MoveFunctionVisibility.PUBLIC: visibility = InternalMoveFunctionVisibility.PUBLIC break - case Types.MoveFunctionVisibility.FRIEND: + case MoveFunctionVisibility.FRIEND: visibility = InternalMoveFunctionVisibility.FRIEND break } @@ -42,7 +47,7 @@ export function toInternalFunction(func: MoveFunction): InternalMoveFunction { name: func.name, params: func.params.map(parseMoveType), return: func.return.map(parseMoveType), - visibility: visibility, + visibility: visibility } } @@ -52,13 +57,13 @@ export function toInternalStruct(struct: MoveStruct): InternalMoveStruct { fields: struct.fields.map(toInternalField), typeParams: struct.generic_type_params, isNative: struct.is_native, - name: struct.name, + name: struct.name } } export function toInternalField(module: MoveStructField): InternalMoveStructField { return { name: module.name, - type: parseMoveType(module.type), + type: parseMoveType(module.type) } } diff --git a/packages/move/src/abstract-codegen.ts b/packages/move/src/abstract-codegen.ts index 50f32ed1..bff88431 100644 --- a/packages/move/src/abstract-codegen.ts +++ b/packages/move/src/abstract-codegen.ts @@ -389,10 +389,10 @@ export abstract class AbstractCodegen { } generateImports() { - let refImports = `import { ${this.ADDRESS_TYPE} } from "${this.SYSTEM_PACKAGE}"` - if (this.ADDRESS_TYPE === 'string') { - refImports = '' - } + // let refImports = `import { ${this.ADDRESS_TYPE} } from "${this.SYSTEM_PACKAGE}"` + // if (this.ADDRESS_TYPE === 'string') { + // refImports = '' + // } const imports = ` import { TypeDescriptor, ANY_TYPE } from "@typemove/move" @@ -401,7 +401,6 @@ export abstract class AbstractCodegen { import { defaultMoveCoder } from "${this.defaultCoderPackage()}" - ${refImports} ` return imports } diff --git a/packages/move/src/types.ts b/packages/move/src/types.ts index 443ed2f5..3903a3b9 100644 --- a/packages/move/src/types.ts +++ b/packages/move/src/types.ts @@ -161,6 +161,10 @@ export function parseMoveType(type: string): TypeDescriptor { const stack: TypeDescriptor[] = [new TypeDescriptor('')] let buffer = [] + if (type === undefined) { + console.log('') + } + // xxx:asdf>, b, g2, e> for (let i = 0; i < type.length; i++) { const ch = type[i] diff --git a/packages/sui/src/abis/0x2.json b/packages/sui/src/abis/0x2.json index a94cc2f2..e20c6479 100644 --- a/packages/sui/src/abis/0x2.json +++ b/packages/sui/src/abis/0x2.json @@ -8314,6 +8314,10 @@ "address": "0x2", "name": "dynamic_object_field" }, + { + "address": "0x2", + "name": "random" + }, { "address": "0x2", "name": "transfer" @@ -8612,6 +8616,22 @@ } ] }, + "randomness_state": { + "visibility": "Friend", + "isEntry": false, + "typeParameters": [], + "parameters": [], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "object", + "name": "UID", + "typeArguments": [] + } + } + ] + }, "uid_as_inner": { "visibility": "Public", "isEntry": false, @@ -10697,6 +10717,71 @@ "structs": {}, "exposedFunctions": {} }, + "random": { + "fileFormatVersion": 6, + "address": "0x2", + "name": "random", + "friends": [], + "structs": { + "Random": { + "abilities": { + "abilities": ["Key"] + }, + "typeParameters": [], + "fields": [ + { + "name": "id", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "UID", + "typeArguments": [] + } + } + }, + { + "name": "inner", + "type": { + "Struct": { + "address": "0x2", + "module": "versioned", + "name": "Versioned", + "typeArguments": [] + } + } + } + ] + }, + "RandomInner": { + "abilities": { + "abilities": ["Store"] + }, + "typeParameters": [], + "fields": [ + { + "name": "version", + "type": "U64" + }, + { + "name": "epoch", + "type": "U64" + }, + { + "name": "randomness_round", + "type": "U64" + }, + { + "name": "random_bytes", + "type": { + "Vector": "U8" + } + } + ] + } + }, + "exposedFunctions": {} + }, "sui": { "fileFormatVersion": 6, "address": "0x2", @@ -11327,8 +11412,2117 @@ { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + }, + "is_empty": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": ["Bool"] + }, + "length": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": ["U64"] + }, + "pop_back": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": [ + { + "TypeParameter": 0 + } + ] + }, + "push_back": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "TypeParameter": 0 + } + ], + "return": [] + }, + "singleton": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "TypeParameter": 0 + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + }, + "swap": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + "U64", + "U64" + ], + "return": [] + }, + "swap_remove": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "table_vec", + "name": "TableVec", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + "U64" + ], + "return": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + "token": { + "fileFormatVersion": 6, + "address": "0x2", + "name": "token", + "friends": [], + "structs": { + "ActionRequest": { + "abilities": { + "abilities": [] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "name", + "type": { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + }, + { + "name": "amount", + "type": "U64" + }, + { + "name": "sender", + "type": "Address" + }, + { + "name": "recipient", + "type": { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + } + }, + { + "name": "spent_balance", + "type": { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": [ + { + "Struct": { + "address": "0x2", + "module": "balance", + "name": "Balance", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + } + } + }, + { + "name": "approvals", + "type": { + "Struct": { + "address": "0x2", + "module": "vec_set", + "name": "VecSet", + "typeArguments": [ + { + "Struct": { + "address": "0x1", + "module": "type_name", + "name": "TypeName", + "typeArguments": [] + } + } + ] + } + } + } + ] + }, + "RuleKey": { + "abilities": { + "abilities": ["Copy", "Drop", "Store"] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "is_protected", + "type": "Bool" + } + ] + }, + "Token": { + "abilities": { + "abilities": ["Key"] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "id", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "UID", + "typeArguments": [] + } + } + }, + { + "name": "balance", + "type": { + "Struct": { + "address": "0x2", + "module": "balance", + "name": "Balance", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ] + }, + "TokenPolicy": { + "abilities": { + "abilities": ["Key"] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "id", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "UID", + "typeArguments": [] + } + } + }, + { + "name": "spent_balance", + "type": { + "Struct": { + "address": "0x2", + "module": "balance", + "name": "Balance", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "name": "rules", + "type": { + "Struct": { + "address": "0x2", + "module": "vec_map", + "name": "VecMap", + "typeArguments": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + { + "Struct": { + "address": "0x2", + "module": "vec_set", + "name": "VecSet", + "typeArguments": [ + { + "Struct": { + "address": "0x1", + "module": "type_name", + "name": "TypeName", + "typeArguments": [] + } + } + ] + } + } + ] + } + } + } + ] + }, + "TokenPolicyCap": { + "abilities": { + "abilities": ["Store", "Key"] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "id", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "UID", + "typeArguments": [] + } + } + }, + { + "name": "for", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "ID", + "typeArguments": [] + } + } + } + ] + }, + "TokenPolicyCreated": { + "abilities": { + "abilities": ["Copy", "Drop"] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "id", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "ID", + "typeArguments": [] + } + } + }, + { + "name": "is_mutable", + "type": "Bool" + } + ] + } + }, + "exposedFunctions": { + "action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + ] + }, + "add_approval": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": ["Drop"] + } + ], + "parameters": [ + { + "TypeParameter": 1 + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "add_rule_config": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": ["Drop"] + }, + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "TypeParameter": 1 + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "TypeParameter": 2 + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "add_rule_for_action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": ["Drop"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "allow": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "amount": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": ["U64"] + }, + "approvals": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "vec_set", + "name": "VecSet", + "typeArguments": [ + { + "Struct": { + "address": "0x1", + "module": "type_name", + "name": "TypeName", + "typeArguments": [] + } + } + ] + } + } + ] + }, + "burn": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "TreasuryCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ], + "return": [] + }, + "confirm_request": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + "U64", + "Address", + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + } + ] + }, + "confirm_request_mut": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + "U64", + "Address", + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + } + ] + }, + "confirm_with_policy_cap": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + "U64", + "Address", + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + } + ] + }, + "confirm_with_treasury_cap": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "TreasuryCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + "U64", + "Address", + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + } + ] + }, + "destroy_zero": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ], + "return": [] + }, + "disallow": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "flush": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "TreasuryCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": ["U64"] + }, + "from_coin": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "Coin", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + }, + "from_coin_action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [], + "parameters": [], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + ] + }, + "has_rule_config": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": ["Bool"] + }, + "has_rule_config_with_type": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": [] + }, + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": ["Bool"] + }, + "is_allowed": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + } + ], + "return": ["Bool"] + }, + "join": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ], + "return": [] + }, + "keep": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "mint": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "TreasuryCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + "U64", + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + }, + "new_policy": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "TreasuryCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + }, + "new_request": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + "U64", + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + }, + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": [ + { + "Struct": { + "address": "0x2", + "module": "balance", + "name": "Balance", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ] + }, + "recipient": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["Address"] + } + } + ] + }, + "remove_rule_config": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": [] + }, + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "TypeParameter": 2 + } + ] + }, + "remove_rule_for_action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": ["Drop"] + } + ], + "parameters": [ + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [] + }, + "rule_config": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": ["Drop"] + }, + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "TypeParameter": 1 + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": [ + { + "Reference": { + "TypeParameter": 2 + } + } + ] + }, + "rule_config_mut": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + }, + { + "abilities": ["Drop"] + }, + { + "abilities": ["Store"] + } + ], + "parameters": [ + { + "TypeParameter": 1 + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicyCap", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": [ + { + "MutableReference": { + "TypeParameter": 2 + } + } + ] + }, + "rules": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + }, + { + "Reference": { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "vec_set", + "name": "VecSet", + "typeArguments": [ + { + "Struct": { + "address": "0x1", + "module": "type_name", + "name": "TypeName", + "typeArguments": [] + } + } + ] + } + } + ] + }, + "sender": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Reference": { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + } + ], + "return": ["Address"] + }, + "share_policy": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "TokenPolicy", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + } + ], + "return": [] + }, + "spend": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [ + { + "abilities": [] + } + ], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", "typeArguments": [ { "TypeParameter": 0 @@ -11338,12 +13532,28 @@ } ] }, - "is_empty": { + "spend_action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [], + "parameters": [], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + ] + }, + "spent": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ @@ -11351,8 +13561,8 @@ "Reference": { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", + "module": "token", + "name": "ActionRequest", "typeArguments": [ { "TypeParameter": 0 @@ -11362,14 +13572,23 @@ } } ], - "return": ["Bool"] + "return": [ + { + "Struct": { + "address": "0x1", + "module": "option", + "name": "Option", + "typeArguments": ["U64"] + } + } + ] }, - "length": { + "spent_balance": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ @@ -11377,8 +13596,8 @@ "Reference": { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", + "module": "token", + "name": "TokenPolicy", "typeArguments": [ { "TypeParameter": 0 @@ -11390,12 +13609,12 @@ ], "return": ["U64"] }, - "pop_back": { + "split": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ @@ -11403,8 +13622,8 @@ "MutableReference": { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", + "module": "token", + "name": "Token", "typeArguments": [ { "TypeParameter": 0 @@ -11412,55 +13631,131 @@ ] } } + }, + "U64", + { + "MutableReference": { + "Struct": { + "address": "0x2", + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] + } + } } ], "return": [ { - "TypeParameter": 0 + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } } ] }, - "push_back": { + "to_coin": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } + }, { "MutableReference": { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", - "typeArguments": [ - { - "TypeParameter": 0 - } - ] + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] } } + } + ], + "return": [ + { + "Struct": { + "address": "0x2", + "module": "coin", + "name": "Coin", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } }, { - "TypeParameter": 0 + "Struct": { + "address": "0x2", + "module": "token", + "name": "ActionRequest", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } } - ], - "return": [] + ] }, - "singleton": { + "to_coin_action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [], + "parameters": [], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + ] + }, + "transfer": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ { - "TypeParameter": 0 + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } }, + "Address", { "MutableReference": { "Struct": { @@ -11476,8 +13771,8 @@ { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", + "module": "token", + "name": "ActionRequest", "typeArguments": [ { "TypeParameter": 0 @@ -11487,21 +13782,37 @@ } ] }, - "swap": { + "transfer_action": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [], + "parameters": [], + "return": [ + { + "Struct": { + "address": "0x1", + "module": "string", + "name": "String", + "typeArguments": [] + } + } + ] + }, + "value": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ { - "MutableReference": { + "Reference": { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", + "module": "token", + "name": "Token", "typeArguments": [ { "TypeParameter": 0 @@ -11509,18 +13820,16 @@ ] } } - }, - "U64", - "U64" + } ], - "return": [] + "return": ["U64"] }, - "swap_remove": { + "zero": { "visibility": "Public", "isEntry": false, "typeParameters": [ { - "abilities": ["Store"] + "abilities": [] } ], "parameters": [ @@ -11528,21 +13837,25 @@ "MutableReference": { "Struct": { "address": "0x2", - "module": "table_vec", - "name": "TableVec", - "typeArguments": [ - { - "TypeParameter": 0 - } - ] + "module": "tx_context", + "name": "TxContext", + "typeArguments": [] } } - }, - "U64" + } ], "return": [ { - "TypeParameter": 0 + "Struct": { + "address": "0x2", + "module": "token", + "name": "Token", + "typeArguments": [ + { + "TypeParameter": 0 + } + ] + } } ] } @@ -11991,6 +14304,32 @@ } ] }, + "TransferPolicyDestroyed": { + "abilities": { + "abilities": ["Copy", "Drop"] + }, + "typeParameters": [ + { + "constraints": { + "abilities": [] + }, + "isPhantom": true + } + ], + "fields": [ + { + "name": "id", + "type": { + "Struct": { + "address": "0x2", + "module": "object", + "name": "ID", + "typeArguments": [] + } + } + } + ] + }, "TransferRequest": { "abilities": { "abilities": [] @@ -14646,6 +16985,22 @@ ], "return": ["Bool"] }, + "delete": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "zklogin_verified_id", + "name": "VerifiedID", + "typeArguments": [] + } + } + ], + "return": [] + }, "issuer": { "visibility": "Public", "isEntry": false, @@ -14866,6 +17221,22 @@ ], "return": ["Bool"] }, + "delete": { + "visibility": "Public", + "isEntry": false, + "typeParameters": [], + "parameters": [ + { + "Struct": { + "address": "0x2", + "module": "zklogin_verified_issuer", + "name": "VerifiedIssuer", + "typeArguments": [] + } + } + ], + "return": [] + }, "issuer": { "visibility": "Public", "isEntry": false, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3d6d2989..88be2495 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -98,15 +98,15 @@ importers: examples/aptos: dependencies: + '@aptos-labs/ts-sdk': + specifier: '*' + version: 1.2.0 '@typemove/aptos': specifier: workspace:* version: link:../../packages/aptos '@typemove/move': specifier: workspace:* version: link:../../packages/move - aptos: - specifier: '*' - version: 1.19.0 examples/sui: dependencies: @@ -122,12 +122,12 @@ importers: packages/aptos: dependencies: + '@aptos-labs/ts-sdk': + specifier: ~1.2.0 + version: 1.2.0 '@typemove/move': specifier: workspace:* version: link:../move - aptos: - specifier: ~1.20.0 - version: 1.20.0 chalk: specifier: ^5.3.0 version: 5.3.0 @@ -189,16 +189,31 @@ packages: '@jridgewell/trace-mapping': 0.3.19 dev: true - /@aptos-labs/aptos-client@0.0.2: - resolution: {integrity: sha512-FgKZb5zDPz8MmAcVxXzYhxP6OkzuIPoDRJp48YJ8+vrZ9EOZ35HaWGN2M3u+GPdnFE9mODFqkxw3azh3kHGZjQ==} + /@aptos-labs/aptos-client@0.1.0: + resolution: {integrity: sha512-q3s6pPq8H2buGp+tPuIRInWsYOuhSEwuNJPwd2YnsiID3YSLihn2ug39ktDJAcSOprUcp7Nid8WK7hKqnUmSdA==} engines: {node: '>=15.10.0'} dependencies: - axios: 0.27.2 + axios: 1.6.2 got: 11.8.6 transitivePeerDependencies: - debug dev: false + /@aptos-labs/ts-sdk@1.2.0: + resolution: {integrity: sha512-pe7MhSmyZ6ez4tPud8Q3KOsthdJOR8SNUT/c0gPUIET2yVOf/cmx9TT/dIBm8kwX7hVWZGX4aBWDvZJbeY6dRg==} + engines: {node: '>=11.0.0'} + dependencies: + '@aptos-labs/aptos-client': 0.1.0 + '@noble/curves': 1.3.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 + transitivePeerDependencies: + - debug + dev: false + /@babel/code-frame@7.22.13: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} @@ -925,8 +940,10 @@ packages: '@noble/hashes': 1.3.2 dev: false - /@noble/hashes@1.1.3: - resolution: {integrity: sha512-CE0FCR57H2acVI5UOzIGSSIYxZ6v/HOhDR0Ro9VLyhnzLwx0o8W1mmgaqlEUx4049qJDlIBRztv5k+MM8vbO3A==} + /@noble/curves@1.3.0: + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + dependencies: + '@noble/hashes': 1.3.3 dev: false /@noble/hashes@1.3.2: @@ -934,6 +951,11 @@ packages: engines: {node: '>= 16'} dev: false + /@noble/hashes@1.3.3: + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1103,6 +1125,10 @@ packages: resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} dev: false + /@scure/base@1.1.5: + resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} + dev: false + /@scure/bip32@1.3.2: resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} dependencies: @@ -1111,18 +1137,19 @@ packages: '@scure/base': 1.1.3 dev: false - /@scure/bip39@1.1.0: - resolution: {integrity: sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==} + /@scure/bip32@1.3.3: + resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} dependencies: - '@noble/hashes': 1.1.3 - '@scure/base': 1.1.3 + '@noble/curves': 1.3.0 + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.5 dev: false /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.3 + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.5 dev: false /@semantic-release/commit-analyzer@9.0.2(semantic-release@19.0.5): @@ -1657,34 +1684,6 @@ packages: picomatch: 2.3.1 dev: true - /aptos@1.19.0: - resolution: {integrity: sha512-IEvEfBFndhDce1HCMdow24Dh52sFFuRcgDpjTbH3Fi4TQpCD9s7zX+C5eCzTNiWQmEH/dfL2uDw5dbREGQxsbQ==} - engines: {node: '>=11.0.0'} - 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 - transitivePeerDependencies: - - debug - dev: false - - /aptos@1.20.0: - resolution: {integrity: sha512-driZt7qEr4ndKqqVHMyuFsQAHy4gJ4HPQttgVIpeDfnOIEnIV7A2jyJ9EYO2A+MayuyxXB+7yCNXT4HyBFJdpA==} - engines: {node: '>=11.0.0'} - 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 - transitivePeerDependencies: - - debug - dev: false - /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true @@ -1797,11 +1796,12 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@0.27.2: - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + /axios@1.6.2: + resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false @@ -2825,6 +2825,7 @@ packages: /eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} @@ -5087,6 +5088,10 @@ packages: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: true + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true