Contract con_distribute_v1


Contract Code


  
1 import currency
2 I = importlib
3
4 #distribute TAU to a list of addresses with same amounts
5 @export
6 def distr_same(addresses: list, amount: float):
7 for address in addresses:
8 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
9 currency.transfer_from(amount=amount, to=address, main_account=ctx.signer)
10
11 #distribute TAU to a list of addresses with varying amounts
12 @export
13 def distr_var(addresses: list, amounts: list):
14 for num in range(len(addresses)):
15 address = addresses[num]
16 amount = amounts[num]
17 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
18 assert isinstance(amount, float) | isinstance(amount, int) == True, f"Amount no. {amounts.index(amount)+1} is not a number"
19 currency.transfer_from(amount=amount, to=address, main_account=ctx.signer)
20
21 #distribute any token to a list of addresses with same amounts
22 @export
23 def distr_token_same(token: str, addresses: list, amount: float):
24 for address in addresses:
25 asset = I.import_module(token)
26 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
27 asset.transfer_from(amount=amount, to=address, main_account=ctx.signer)
28
29 #distribute any token to a list of addresses with varying amounts
30 @export
31 def distr_token_var(token: str, addresses: list, amounts: list):
32 for num in range(len(addresses)):
33 address = addresses[num]
34 amount = amounts[num]
35 asset = I.import_module(token)
36 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
37 assert isinstance(amount, float) | isinstance(amount, int) == True, f"Amount no. {amounts.index(amount)+1} is not a number"
38 asset.transfer_from(amount=amount, to=address, main_account=ctx.signer)
39

Byte Code

e300000000000000000000000005000000400000007374000000640064016c005a0065015a026503640283016504650564039c0264046405840483015a066503640283016504650464069c0264076408840483015a0765036402830165086504650564099c03640a640b840483015a09650364028301650865046504640c9c03640d640e840483015a0a64015300290fe9000000004eda11636f6e5f646973747269627574655f76312902da09616464726573736573da06616d6f756e74630200000000000000030000000600000043000000734a00000078447c0044005d3c7d0274007c02830164016b027330740164027c006a027c028301640317009b0064049d038301820174036a047c017c0274056a0664058d030100710657006400530029064ee9400000007a0c41646472657373206e6f2e20e9010000007a14206973206e6f7420363420696e206c656e67746829037204000000da02746fda0c6d61696e5f6163636f756e742907da036c656eda0e417373657274696f6e4572726f72da05696e646578da0863757272656e6379da0d7472616e736665725f66726f6dda03637478da067369676e6572290372030000007204000000da0761646472657373a9007211000000da00da0a64697374725f73616d6505000000730800000000020a0106012001721300000029027203000000da07616d6f756e74736302000000000000000500000006000000430000007394000000788e740074017c008301830144005d7e7d027c007c0219007d037c017c0219007d0474017c03830164016b027348740264027c006a037c038301640317009b0064049d038301820174047c047405830274047c0474068302420064056b02737a740264067c016a037c048301640317009b0064079d038301820174076a087c047c0374096a0a64088d030100710e57006400530029094e72050000007a0c41646472657373206e6f2e2072060000007a14206973206e6f7420363420696e206c656e677468547a0b416d6f756e74206e6f2e207a10206973206e6f742061206e756d6265722903720400000072070000007208000000290bda0572616e67657209000000720a000000720b000000da0a6973696e7374616e6365da05666c6f6174da03696e74720c000000720d000000720e000000720f000000290572030000007214000000da036e756d72100000007204000000721100000072110000007212000000da0964697374725f7661720e000000731000000000021201080108010601200112012001721a0000002903da05746f6b656e720300000072040000006303000000000000000500000006000000430000007354000000784e7c0144005d467d0374006a017c0083017d0474027c03830164016b02733a740364027c016a047c038301640317009b0064049d03830182017c046a057c027c0374066a0764058d030100710657006400530029064e72050000007a0c41646472657373206e6f2e2072060000007a14206973206e6f7420363420696e206c656e67746829037204000000720700000072080000002908da0149da0d696d706f72745f6d6f64756c657209000000720a000000720b000000720d000000720e000000720f0000002905721b000000720300000072040000007210000000da056173736574721100000072110000007212000000da1064697374725f746f6b656e5f73616d651b000000730a00000000020a010a0106012001721f0000002903721b00000072030000007214000000630300000000000000070000000600000043000000739e0000007898740074017c018301830144005d887d037c017c0319007d047c027c0319007d0574026a037c0083017d0674017c04830164016b027352740464027c016a057c048301640317009b0064049d038301820174067c057407830274067c0574088302420064056b027384740464067c026a057c058301640317009b0064079d03830182017c066a097c057c04740a6a0b64088d030100710e57006400530029094e72050000007a0c41646472657373206e6f2e2072060000007a14206973206e6f7420363420696e206c656e677468547a0b416d6f756e74206e6f2e207a10206973206e6f742061206e756d6265722903720400000072070000007208000000290c72150000007209000000721c000000721d000000720a000000720b000000721600000072170000007218000000720d000000720e000000720f0000002907721b00000072030000007214000000721900000072100000007204000000721e000000721100000072110000007212000000da0f64697374725f746f6b656e5f76617224000000731200000000021201080108010a0106012001120120017220000000290b720c000000da09696d706f72746c6962721c000000da085f5f6578706f7274da046c69737472170000007213000000721a000000da03737472721f00000072200000007211000000721100000072110000007212000000da083c6d6f64756c653e01000000731200000008010403060112080601120c060114080601